lintcode(632)二叉樹的最大節點
阿新 • • 發佈:2019-01-24
描述:
在二叉樹中尋找值最大的節點並返回。
樣例;
給出如下一棵二叉樹:
1
/ \
-5 2
/ \ / \
0 3 -4 -5
返回值為 3
的節點。
思路:
遞迴,並且用陣列物件儲存當前結果
public class Solution { /** * @param root the root of binary tree * @return the max ndoe */ public TreeNode maxNode(TreeNode root) { // Write your code here ArrayList<TreeNode> result = new ArrayList<TreeNode>(); result.add(root); search(root , result); return result.get(0); } public void search(TreeNode root , ArrayList<TreeNode> result){ if(root == null){ return ; } if(result.get(0).val < root.val){ result.set(0 , root); } if(root.left != null){ search(root.left , result); } if(root.right != null){ search(root.right , result); } } }