題目:輸入一顆二叉樹根節點,複製該樹,返回新建樹的根節點。
分析:跟求二叉樹的高度類似,使用遞迴呼叫,先序遍歷即可完成。
bnode* copybst(bnode* root)
題目:判斷兩顆二叉樹是否相等。
注意:
1.root1和root2相等。
2.root1的左右子樹與root2的左右子樹分別相同。
分析:按照上述兩種情況寫出遞迴即可。
bool isbstequal(bnode* root1,bnode* root2)總結:二叉樹的深度,二叉樹的複製以及判斷相等,都是使用遞迴思想。else if (root1==null || root2==null)
else
bool is_left = isbstequal(root1->left,root2->left);
bool is_right = isbstequal(root1->right,root2->right);
if (is_left&&is_right)
return true;
else
return false; } }
演算法菜鳥之映象二叉樹判斷
問題描述 給定一顆二叉樹,判斷其是否使映象的。例如 這棵樹是對稱的,而下面這棵樹是非對稱的 問題分析 判斷一棵樹是否映象對稱,關鍵看該二叉樹的左右子樹是否映象對稱。進一步地,如果將右 左 子樹的所有節點左右互換,其與左 右 子樹應該完全相同。基於這個思路,演算法分兩個步驟 互換右子樹的左右節點 判斷...
演算法 判斷對稱二叉樹
給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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示例 輸入 2,1,5,6,2,3 輸出 10說實話這道題我想了挺久的,可能太久沒接觸過二叉...
二叉樹 判斷二叉樹是否為完全二叉樹
問題描述 判斷一棵二叉樹是否為完全二叉樹。知識點 完全二叉樹是指除二叉樹的最後一層外,其他各層的節點數達到最大個數,且最後一層的葉節點從左到右連續存在,只缺右側若干節點。演算法實現 class node is complete binary tree public static boolean is...