LintCode之二叉树的最大节点
2017-11-09 22:38
417 查看
分治问题,可以把整棵树看做是由一颗颗只有三个节点组成的小树,一颗树的构成是根节点、左子树、右子树,这样只需要从左子树找出一个最大的节点,从右子树找出一个最大的节点,然后与根节点三个取个最大的,就是最终的结果了。
AC代码:
/** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, right; * public TreeNode(int val) { * this.val = val; * this.left = this.right = null; * } * } */ public class Solution { /* * @param root: the root of tree * @return: the max node */ public TreeNode maxNode(TreeNode root) { // write your code here if(root==null) return null; TreeNode leftMaxNode = maxNode(root.left); TreeNode rightMaxNode = maxNode(root.right); TreeNode resNode = root; if(leftMaxNode!=null && leftMaxNode.val>resNode.val) resNode = leftMaxNode; if(rightMaxNode!=null && rightMaxNode.val>resNode.val) resNode = rightMaxNode; return resNode; } }
题目来源: http://www.lintcode.com/zh-cn/problem/binary-tree-maximum-node/
相关文章推荐
- LintCode:二叉树的最大节点632
- Lintcode---二叉树的最大节点
- lintcode--二叉树的最大节点
- Lintcode:二叉树的最大节点
- LintCode之632 二叉树最大节点
- lintcode maximum-depth-of-binary-tree 二叉树的最大深度
- lintcode&九章算法——No.97 二叉树的最大深度 ? 待解决
- Lintcode-递归-97 二叉树的最大深度
- lintcode :二叉树的最大深度
- lintcode——二叉树的最大深度
- LintCode:二叉树的最大深度
- lintcode 85 在二叉树中插入节点
- lintcode binary-tree-maximum-path-sum 二叉树中的最大路径和
- Lintcode---二叉树的最大深度
- LintCode-二叉树的最大深度
- LintCode-二叉树中的最大路径和
- lintcode--二叉树中的最大路径和
- lintcode 二叉树的最大深度
- LintCode-剑指Offer-(372)在O(1)时间复杂度删除链表节点
- LintCode—删除链表中倒数第n个节点(174)