題目:
分析:
看到這個題目我的第一反應還是遞迴,沒辦法,最近愛上了遞迴,陷入了無限真香迴圈,無法自拔。
我的思路是首先比較兩個二叉樹頂層節點,如果兩個二叉樹都為null,那麼不用繼續比較下去了,直接返回true。如果兩個二叉樹都不為null,那麼對比一下二者的節點值,如果值相同,則不用理它們,如果不同的話,同樣不用繼續進行比較了,直接返回false。最後的最後,如果沒有滿足上面提到的三個return中任何乙個的執行條件,那麼將兩個節點的左右子節點傳入遞迴方法進行下一輪的對比。
最終,如果有任意兩個位置的節點不同,則最終結果一定為false(詳見**)。
題解:
/*** definition for a binary tree node.
* public class treenode
* } */
class
solution
public
boolean
check(treenode p, treenode q)
if (p != null && q != null
) }
else
return check(p.left, q.left) &&check(p.right, q.right);
}}
判斷二叉樹是否相同
判斷二叉樹是否相同 當root1的左子樹與root2的左子樹相同,root1的右子樹與root2的右子樹相同時,這兩顆二叉樹相同。當root1的左子樹與root2的右子樹相同,root1的右子樹與root2的左子樹相同時,這兩顆二叉樹同樣相同。1 bool isequals bnode root1,...
映象二叉樹(遞迴版)
題目 給定乙個二叉樹,檢查它是否是映象對稱的。分析 這道題我的第一反應又是遞迴,果然是對遞迴愛的深沉,看見二叉樹就想到遞迴。不過,雖然用遞迴來解沒什麼問題,但是我的思路有大問題,導致 並不簡潔,消耗記憶體和執行時間也比較高。我的思路是既然要判斷二叉樹是否為映象對稱,那麼頂層的第乙個節點可以忽略不計,...
判斷二叉樹是否平衡 是否完全二叉樹 是否二叉排序樹
1.判斷二叉樹是否平衡 求樹的高度 int treedepth node t return0 判斷二叉樹是否平衡 int isbalanced node t 2.判斷二叉樹是否相同 判斷兩棵二叉樹是否相同 int comptree node tree1,node tree2 拷貝二叉樹 void c...