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值不是不同吗?
为何竟然没有执行到这个条件
看好久都看不出来... 求解