LintCode之632 二叉树最大节点

来源:互联网 发布:电脑运行命令网络连接 编辑:程序博客网 时间:2024/06/11 12:00

题目来源:二叉树最大节点
题目描述:
在二叉树中寻找值最大的节点并返回。
样例:
给出如下一棵二叉树:

   1 /   \-5    2/  \ /  \0  3 -4 -5 

返回值为 3 的节点。
Java代码:

public TreeNode maxNode(TreeNode root) {        // Write your code here        TreeNode result = null;        Stack<TreeNode> stack = new Stack<TreeNode>();        while(root != null || !stack.empty()){            while (root != null) {                if (result==null||result.val < root.val) {                    result = root;                                  }                stack.push(root);                root = root.left;            }            if(!stack.empty()){                root = stack.lastElement();                stack.pop();                if (result==null||result.val < root.val) {                    result = root;                                  }                root = root.right;            }        }        return result;    }
原创粉丝点击