文章

10

粉丝

0

获赞

46

访问

652

头像
判断二叉树是否对称 题解(c语言,递归实现)
P1551 东北大学机试题
发布于2026年3月13日 15:52
阅读数 131

#include <stdio.h>
#include <string.h>

char s[1005];
int n;

int mirror(int i, int j)
{
    if (i >= n && j >= n) return 1;

    if (i >= n || j >= n)
    {
        if (i >= n && s[j] == '#') return 1;
        if (j >= n && s[i] == '#') return 1;
        return 0;
    }

    if (s[i] == '#' && s[j] == '#') return 1;
    if (s[i] == '#' || s[j] == '#') return 0;

    return mirror(2*i+1, 2*j+2) && mirror(2*i+2, 2*j+1);
}

int main()
{
    scanf("%s", s);
    n = strlen(s);

    if (n == 0 || s[0] == '#')
    {
        printf("YES\n");
        return 0;
    }

    if (mirror(1, 2))...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发