[问题] leetcode二元树问题求救

楼主: seal46825 (Vanish)   2019-07-22 23:04:29
http://i.imgur.com/ShYgTdP.jpg
http://i.imgur.com/UOGULZV.jpg
原始码: https://pastebin.com/raw/sGAVF2f1
这题是要判断一个二元树是否为对称
求大大解惑
我看了一个晚上还是看不懂...
不懂的部分是
23行把root的左右子节点丢入函数checkNodes里面
root的左右子节点都是2
因此对应到checkNodes函数里面看
前三个if都没有包含到这个状况
因此会把这两个节点的左右子节点
也就是二元树的第三阶 3 4 、4 3分别丢进function里面
问题来了3、4两个值不相同
由于第12行的if条件a、b两值不相同
应该要return false
由于第三阶3 4、4 3两组都要回归false
跳出递回后 false&&false也是false
所以最后的结果应该也是false
但是结果却是true
而且我在第12行的if下面叙述里
加一个printf("TEST\n");
根本没有看到有执行这行
但是2的左右子节点3与4值不是不同吗?
为何竟然没有执行到这个条件
看好久都看不出来... 求解
作者: alan23273850   2019-07-25 02:07:00
感谢楼上 长知识了 这世界真可怕 XD
作者: art1 (人,原来不是人)   2019-07-25 00:15:00
vscode有leetcode套件,会自动帮你带默认的测资,只有一笔或是直接上传leetcode网站就帮你套测资了
作者: clh960524 (CLH)   2019-07-23 23:28:00
想加团+1
作者: dces4212 (flawless)   2019-07-24 11:20:00
请问大家一般都如何验证自己的解法有没符合要求 是有其他测资软件之类吗? 感谢!
作者: ko27tye (好滋好滋)   2019-07-22 23:28:00
这题是镜像反射 所以最左边节点要对映最右边节点而你把题目想成子树的左节点=右节点了
楼主: seal46825 (Vanish)   2019-07-22 23:58:00
阿干我真的眼残 感谢k大最近睡眠不足头壳秀逗秀逗XDD
作者: Gway (我爱的你 也爱我 好吗?)   2019-07-23 07:20:00
刷leetcode有团吗?可以加吗?谢谢
楼主: seal46825 (Vanish)   2019-07-23 08:23:00
我自己用C在刷 但我都刷简单的而已

Links booklink

Contact Us: admin [ a t ] ucptt.com