invert binary tree
invert a binary tree.
4to/ \
2 7
/ \ / \
1 3 6 9
4幾周前,我用的是遞迴解法,如下/ \
7 2
/ \ / \
9 6 3 1
/**
* definition for a binary tree node.
* struct treenode ;
*/struct treenode* inverttree(struct treenode* root)
else if(h->left)
else if(h->right)
else if(h->right==null && h->left==null)
return h;
}}
當時用的是c語言,
68 / 68 test cases passed.
status: accepted
runtime:
0 ms
然後,今天又在劍指offer上看到這題,想用非遞迴實現:
/**
* definition for a binary tree node.
* struct treenode
* };
*/class solution
if(h->left!=null &&h->right==null)
if(h->left == null && h->right==null)
else break;
}if(h->left != null && h->right!=null)
} } return root;
} };
用的是c++實現的,耗時多一點
68 / 68 test cases passed.
status:
accepted
runtime:
4 ms
submitted:
4 minutes ago
LeetCode之映象二叉樹(簡單 二叉樹)
問題描述 給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。遞迴 definit...
筆試面試之二叉樹的映象
輸入一顆二元查詢樹,將該樹轉換為它的映象,即在轉換後的二元查詢樹中,左子樹的結點都大於右子樹的結點。用遞迴和迴圈兩種方法完成樹的映象轉換。例如輸入 8 6 10 5 7 9 11 輸出 8 10 6 11 9 7 5 定義二元查詢樹的結點為 struct bstreenode a node in t...
二叉樹之 二叉樹深度
二叉樹深度 獲取最大深度 public static int getmaxdepth treenode root 二叉樹寬度 使用佇列,層次遍歷二叉樹。在上一層遍歷完成後,下一層的所有節點已經放到佇列中,此時佇列中的元素個數就是下一層的寬度。以此類推,依次遍歷下一層即可求出二叉樹的最大寬度 獲取最大...