zoukankan      html  css  js  c++  java
  • 235. Lowest Common Ancestor of a Binary Search Tree

    题目:

    Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.

    According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes v and w as the lowest node in T that has both v and w as descendants (where we allow a node to be a descendant of itself).”

            _______6______
           /              
        ___2__          ___8__
       /              /      
       0      _4       7       9
             /  
             3   5
    

    For example, the lowest common ancestor (LCA) of nodes 2 and 8 is 6. Another example is LCA of nodes 2 and 4 is 2, since a node can be a descendant of itself according to the LCA definition.

    链接:  http://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/

    注意第4,5行的判断不要错

    1 public class Solution {
    2     public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
    3         if (root == null || p == null || q == null) return null;
    4         if (root.val < p.val && root.val < q.val) return lowestCommonAncestor(root.right, p, q);
    5         else if (root.val > p.val && root.val > q.val) return lowestCommonAncestor(root.left, p, q);
    6         else return root;
    7     }
    8 }
  • 相关阅读:
    php与js 编码解码交互
    计算每页个数算法
    线程合并
    Sql调试
    并发问题
    context.Request方法总结
    元字符
    PHP留言小练习
    Git Shell Warning
    loading bar
  • 原文地址:https://www.cnblogs.com/panini/p/6493583.html
Copyright © 2011-2022 走看看