看板 C_and_CPP 關於我們 聯絡資訊
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值不是不同嗎? 為何竟然沒有執行到這個條件 看好久都看不出來... 求解 ----- Sent from JPTT on my Asus ASUS_Z01RD. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.211.42 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1563807871.A.E47.html
ko27tye: 這題是鏡像反射 所以最左邊節點要對映最右邊節點 07/22 23:28
ko27tye: 而你把題目想成子樹的左節點=右節點了 07/22 23:29
seal46825: 阿乾我真的眼殘 感謝k大 07/22 23:58
seal46825: 最近睡眠不足頭殼秀逗秀逗XDD 07/22 23:58
Gway: 刷leetcode有團嗎?可以加嗎?謝謝 07/23 07:20
seal46825: 我自己用C在刷 但我都刷簡單的而已 07/23 08:23
clh960524: 想加團+1 07/23 23:28
dces4212: 請問大家一般都如何驗證自己的解法有沒符合要求 是有其 07/24 11:20
dces4212: 他測資軟體之類嗎? 感謝! 07/24 11:20
art1: vscode有leetcode套件,會自動幫你帶預設的測資,只有一筆 07/25 00:15
art1: 或是直接上傳leetcode網站就幫你套測資了 07/25 00:16
alan23273850: 感謝樓上 長知識了 這世界真可怕 XD 07/25 02:07