目前自己只能寫寫LeetCode上簡單的算法題,而且還寫得不好,有時候結果與設想偏差很大,需要多加努力,認真學習了!
今天完成的一道算法題叫做二叉樹翻轉,第一個念頭竟然是想用棧和隊列實現,但結果有了很大的出入。因為隊列是不允許放入的值為null,這在設計的時候沒有想到。之后采用了遞歸,將原樹的值賦給新樹,當然值是要對調,就如下圖所示,但是結果卻是原樹遍歷到了最后一個節點后再也回溯不到根節點了。
之后就采用了第三種,采用如同數組調換位置的做法,定義了一個臨時的節點用於存放當前節點的左葉子,最后才實現。至於上面一種方法為什么不成功,有機會還是要再去研究一下的。