文章

85

粉丝

0

获赞

502

访问

10.4k

头像
判断二叉树是否对称 题解:
P1551 东北大学机试题
发布于2026年3月6日 12:33
阅读数 155

#include <bits/stdc++.h>
using namespace std;

bool is_match(char a ,char b) {
    if ((isalpha(a)&&isalpha(b))||(a=='#'&&b=='#')) return true;
    else return false;
}

bool if_sym(string str) {
    int len=str.length();
    if(len==0) return false;
    if (len==1) return true;
    int i=1;
    while(str.length()>=i) {
        str=str.substr(i);
        if (str.length()<i) {
            break;
        }
        string temp = str.substr(0, 2*i);
        for (int j=0;j<temp.length()/2;j++) {
            char a = temp[j];
            char b = temp[temp.length()-j-1];
            if (!is_match(a,b)) {
                return false;
            }
        }
        i*=2;
    }
    for (int j=0;j<str.length();j++) {
            char a = str[j];
            char b = str[str.length()-j-1];
            if (!is_match(a,b)) {
                return false;
            }
        }
    return true;
    }


int main () {
  ...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发