NOIP2018普及组复赛第四题:对称二叉树

该博客讨论了如何解决NOIP2018普及组复赛第四题,题目要求找到一棵对称的二叉子树,节点数最多。博主提出通过递归判断二叉树是否对称,通过比较左右子节点的结构和权值来实现。代码实现中,博主强调了递归检查子节点的对称性,并提供了AC代码。
摘要由CSDN通过智能技术生成

对称二叉树

前言:
刚刚参加完csp2020的初赛.....直接崩溃,感觉普及提高都进不了,颓废了来刷刷题,打了半天才打出这道题,心态炸了.....

题目描述:

一棵有点权的有根树如果满足以下条件,则被轩轩称为对称二叉树:

  1. 二叉树;
  2. 将这棵树所有节点的左右子树交换,新树和原树对应位置的结构相同且点权相等。

现在给出一棵二叉树,希望你找出它的一棵子树,该子树为对称二叉树,且节点数最多。请输出这棵子树的节点数。

注意:只有树根的树也是对称二叉树。本题中约定,以节点 T T T为子树根的一棵“子树”指的是:节点 T T T和它的全部后代节点构成的二叉树。

输入描述:

第一行一个正整数 n ( n ≤ 1 0 6 ) n(n \le 10^6) n(n106),表示给定的树的节点的数目,规定节点编号 1 ∼ n 1 \sim n 1n,其中节点 1 1 1是树根。
第二行 n n n 个正整数,用一个空格分隔,第 i i i 个正整数 v i ( v i ≤ 1000 ) v_i(v_i \le 1000 ) vi(vi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值