在二叉树中寻找值最大的节点并返回。
样例
样例1:
输入:
{1,-5,3,1,2,-4,-5}
输出: 3
说明:
这棵树如下所示:
1
/ \
-5 3
/ \ / \
1 2 -4 -5
样例 2
输入:
{10,-5,2,0,3,-4,-5}
输出: 10
说明:
这棵树如下所示:
10
/ \
-5 2
/ \ / \
0 3 -4 -5
public class Solution {
/*
* @param root: the root of tree
* @return: the max node
*/
public TreeNode maxNode(TreeNode root) {
// write your code here
TreeNode left = root;
TreeNode right = root;
if(root == null) return null;
if(root.right != null)
right = maxNode(root.right);
if(root.left != null)
left = maxNode(root.left);
if(left.val > root.val)
root.val = left.val;
if(right.val > root.val)
root.val = right.val;
return root;
}
}