Lintcode 翻轉二叉樹

2021-09-07 12:26:50 字數 637 閱讀 8659

翻轉一棵二叉樹

yes樣例

1         1

/ \ / \

2 3 => 3 2

/ \

4 4

思路:依舊採用遞迴的思路,判斷特殊條件後,先交換根節點的左右孩子,然後再對其左右子樹進行遞迴呼叫。

**實現也很簡單,一次ac。

/**

* definition of treenode:

* class treenode

* }*/class solution

if(root->left==null&&root->right==null)

treenode* temp=root->right;

root->right=root->left;

root->left=temp;

if(root->right!=null)

if(root->left!=null)

}};

翻轉二叉樹

問題描述 翻轉一棵二叉樹 樣例 1 1 2 3 3 2 4 4 實現思路 從根出發開始操作,如果要操作的節點是空值,則不進行任何操作 否則,交換左右兒子,這裡新建乙個temp變數作為過渡。然後利用遞迴演算法,分別對左右子樹進行處理。實現 definition of treenode class tr...

翻轉二叉樹

invert a binary tree.4 2 7 1 3 6 9to 4 7 2 9 6 3 1 思路 採取先序遍歷,根 左子樹 右子樹,自上而下分別把結點的左子樹和右子樹翻轉,例如,結點4的左子樹2和右子樹7調換4 7 2 6 9 1 3 再依次呼叫inverttree函式傳左子樹和右子樹進去...

翻轉二叉樹

目錄當前節點不為空則交換左右子節點,遞迴非常直觀。func inverttree1 root treenode treenode return root 該方法類似樹的層次遍歷,出隊元素交換左右子節點,當前節點左右不為空則入隊。func inverttree2 root treenode treen...