將二叉樹拆成鍊錶

2021-07-30 20:26:06 字數 623 閱讀 8628

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...