农民代表
- 积分
- 5574
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2012-8-15
- 最后登录
- 1970-1-1
|
本帖最后由 麻倉枼 于 2013-5-5 08:47 编辑
我看了下早前的这个帖子,好像大家都是假设每个node没有parent的情况下做的,但是书上的确有提过如果有parent的情况下怎样做(Solution里面的Attempt 1),
我目前是以这个情况下做的,究竟要不要重做?
public static TreeNode findAncestorNode(TreeNode node1, TreeNode node2, TreeNode root){
TreeNode parent = new TreeNode();
if(node1 == root || node2 == root){
parent = root;
}
else if(node1.parent == node2.parent){
parent = node1.parent;
}
else if(node1.parent != node2.parent){
node1 = node1.parent;
node2 = node2.parent;
parent = findAncestorNode(node1, node2, root);
}
return parent;
}
|
|