[問題] 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