1.問題描述:將一棵二叉樹按照前序遍歷拆解成為乙個假鍊錶。所謂的假煉表是說,用二叉樹的right指標,來表示鍊錶中的next指標。
注意事項
不要忘記將左兒子標記為 null,否則你可能會得到空間溢位或是時間溢位。
2.思路:正如樣例
1
\1 2
/ \ \
2 5 => 3
/ \ \ \
3 4 6 4\5
\6
先要把二叉樹的所有節點都儲存在佇列中,建立乙個指標指向根節點,並把根節點彈出,把指標的左邊都為空,右邊都為佇列的頭節點,指標後移,並且佇列彈出,只要佇列不為空就不斷迴圈,就可以得到相應的假鍊錶。
3.**:
/**
* definition of treenode:
* class treenode
* }*/class solution
void flatten(treenode *root)
}};
4.感想:這個程式除錯了很久才除錯通,就是忘記了左兒子為null~ 將二叉樹拆成鍊錶
將一棵二叉樹按照前序遍歷拆解成為乙個假鍊錶。所謂的假煉表是說,用二叉樹的 right 指標,來表示鍊錶中的 next 指標。注意事項 不要忘記將左兒子標記為 null,否則你可能會得到空間溢位或是時間溢位 樣例1 1 2 2 5 3 3 4 6 4 5 6 definition of treenod...
將二叉樹拆成鍊錶
1 問題描述 將一棵二叉樹按照前序遍歷拆解成為乙個假鍊錶。所謂的假煉表是說,用二叉樹的 right 指標,來表示鍊錶中的 next 指標。樣例 1 1 2 2 5 3 3 4 6 4 5 6 2 實現思路 按前序遍歷,先找到左子樹的最右葉子節點,其next為根節點的右子樹,根的左子樹就變為右子樹了,...
將二叉樹拆成鍊錶
問題描述 將一顆二叉樹按照前序遍歷拆解成為乙個假鍊錶。所謂的假鍊錶 將一棵二叉樹按照前序遍歷拆解成為乙個假鍊錶。所謂的假煉表是說,用二叉樹的 right 指標,來表示鍊錶中的 next 指標。實現思路 將root的左子樹付給右子樹,再將左子樹付給右子樹,同時使root的左子樹為空。definitio...