LeetCode114 二叉樹展開為鍊錶

2021-10-03 15:19:55 字數 624 閱讀 7795

給定乙個二叉樹,原地將它展開為鍊錶。

例如,給定二叉樹

1/ \

2   5

/ \   \

3   4   6

將其展開為:1\

2\3\

4\5\

6把右子樹接在左子樹的最右邊的節點上面,然後把左子樹放在右子樹的位置。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

else

//將原來的右子樹接到左子樹的最右邊的節點

pre->right = root->right;

//將左子樹插入右子樹的地方

root->right = root->left;

root->left = null;

//考慮下乙個節點

treenode* pos = root->right;

while (pos->left==null && pos->right !=null)

root = pos;

}} }

};

leetcode114 二叉樹展開為鍊錶

給定乙個二叉樹,原地將它展開為鍊錶。先把左右展開,右放左最後,左放右,左置空 definition for a binary tree node.class treenode def init self,x self.val x self.left none self.right none clas...

Leetcode 114 二叉樹展開為鍊錶

給定乙個二叉樹,原地將它展開為鍊錶。例如,給定二叉樹 1 2 5 3 4 6 複製 將其展開為 1 2 3 4 5 6 複製 這算是比較經典的一道題目了,博主面試快手的時候原題。最開始一想,覺得遞迴的求解不就好了,但是遞迴的時候發現需要注意乙個地方就是 需要先遞迴右子樹,然後記錄下右子樹展開完成之後...

leetcode 114 二叉樹展開為鍊錶

給定乙個二叉樹,原地將它展開為鍊錶。例如,給定二叉樹 1 2 5 3 4 6將其展開為 1 2 3 4 5 6採用二叉樹後序遍歷 python 如下 class treenode object def init self,x self.val x self.left none self.right ...