1、問題描述
在二叉樹中尋找值最大的節點並返回。
給出如下一棵二叉樹:
1/ \
-5 2
/ \ / \
0 3 -4 -5
返回值為 3 的節點。
2、實現思路
從根節點開始前序遍歷,與其左右子樹結點值比較,a為遍歷過的最大節點,a與接下來遍歷的節點進行比較。
3、**
class solution
treenode* compare(treenode*root1, treenode*root2)
};4、感想
a需要在函式外定義,作為全域性變數,若放在
treenode* maxnode(treenode* root)中,在
treenode* compare(treenode*root1, treenode*root2) 中無法用,若放在treenode* compare(treenode*root1, treenode*root2)中,則每次遞迴都會改變a的值。
二叉樹的最大節點
問題描述 在二叉樹中尋找值最大的節點並返回。樣例 給出如下一棵二叉樹 1 5 2 0 3 4 5返回值為3的節點。思路 建立新的節點temp用來儲存遍歷的最大的節點。需注意temp為全域性變數,要在public中,或使用引用。用前序遍歷遍歷所有節點。判斷當前節點值是否大於r的節點值,如果是,將當前節...
lintcode 二叉樹的最大節點
1 問題描述 在二叉樹中尋找值最大的節點並返回 2 思路 用中間結點儲存每一次遞迴時比較的取得最大值的節點。3 解題 definition of treenode class treenode class solution maxnode root left maxnode root right r...
lintcode 二叉樹的最大節點
1 問題 在二叉樹中尋找值最大的節點並返回。樣例 1 5 2 0 3 4 5 返回值為3的節點。2 思路 首先將根節點與乙個無限小的數比較,若根節點大於它將根節點的值賦給它,並且將根節點付給乙個臨時指標變數。用遞迴遍歷,整棵樹,每一次遞迴的過程中逐次尋找較大的數並把此節點賦給臨時指標,最後返回臨時指...