236. Lowest Common Ancestor of a Binary Tree
来源:互联网 发布:网络教育专科学费 编辑:程序博客网 时间:2024/05/29 19:40
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.
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).”
_______3______ / \ ___5__ ___1__ / \ / \ 6 _2 0 8 / \ 7 4
For example, the lowest common ancestor (LCA) of nodes 5
and 1
is 3
. Another example is LCA of nodes 5
and 4
is 5
, since a node can be a descendant of itself according to the LCA definition.
import java.util.ArrayList;import java.util.List;public class Solution {List<TreeNode> plist;List<TreeNode> qlist;List<TreeNode> tmp = new ArrayList<TreeNode>(); public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(p == q)return p; tmp.add(root); dfs(root, p, q); tmp.remove(root); for(int i=plist.size()-1; i>=0; i--) { if(qlist.contains(plist.get(i))) return plist.get(i); } return null; }private void dfs(TreeNode root, TreeNode p, TreeNode q) { if(root == null)return; if(root == p){plist = new ArrayList<TreeNode>(tmp);}if(root == q){qlist = new ArrayList<TreeNode>(tmp);}tmp.add(root.left); dfs(root.left, p, q); tmp.remove(root.left); tmp.add(root.right); dfs(root.right, p, q); tmp.remove(root.right);}}
0 0
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree(***)
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- Lowest Common Ancestor of a Binary Tree
- 总结2016年国内外的AR/VR产品
- 求大神,Android4.4 自动连接蓝牙Ble不弹出输入PIN码的窗口解决办法?
- wamp发布到局域网中
- Single Number
- android打包9.2,而ios打包才3.17,请问为什么!
- 236. Lowest Common Ancestor of a Binary Tree
- Markdown编辑器技巧
- Android ListView
- bzoj4721 [Noip2016]蚯蚓
- 卡尔曼滤波之目标跟踪
- VS2015开发FastReport报表系列--0001
- simple-mock-api
- http请求返回网页的源代码
- linux -unrar解压缩