Redian新闻
>
NASA说外星人要攻击地球了
avatar
NASA说外星人要攻击地球了# Joke - 肚皮舞运动
a*2
1
正在学习ihas1337code的blog
Node *LCA(Node *root, Node *p, Node *q) {
if (!root) return NULL;
if (root == p || root == q) return root;
Node *L = LCA(root->left, p, q);
Node *R = LCA(root->right, p, q);
if (L && R) return root; // if p and q are on both sides
return L ? L : R; // either one of p,q is on one side OR p,q is not in
L&
R subtrees
}
如果p是q的ancestor,这段code就返回p,但是实际上应该返回p的parent吧?如果p是
root,那么应该返回NULL。不知道是不是我理解错了
我觉得应该把if (root == p || root == q) return root;
改为 if(root == p || root == q) return NULL;
if(root->left == p || root->right == p ||root->left == q || root->right ==
q
) return root;
avatar
Y*i
2
有什么优缺点?
avatar
q*x
4
p is p's ancestor or not.

【在 a**********2 的大作中提到】
: 正在学习ihas1337code的blog
: Node *LCA(Node *root, Node *p, Node *q) {
: if (!root) return NULL;
: if (root == p || root == q) return root;
: Node *L = LCA(root->left, p, q);
: Node *R = LCA(root->right, p, q);
: if (L && R) return root; // if p and q are on both sides
: return L ? L : R; // either one of p,q is on one side OR p,q is not in
: L&
: R subtrees

avatar
Y*i
5
Ding.
avatar
a*2
7
p应该不是自己的ancestor

【在 q****x 的大作中提到】
: p is p's ancestor or not.
avatar
N*D
8
pro.结实,好清理 无辐射。
con.贵,花色不自然

【在 Y***i 的大作中提到】
: Ding.
avatar
n*w
9
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).
from
http://en.wikipedia.org/wiki/Lowest_common_ancestor
树可以递归定义,很多树的相关概念也递归定义比较好。

【在 a**********2 的大作中提到】
: p应该不是自己的ancestor
avatar
h*b
10
yes, man made--doesn't look as good
but no need to seal the surface periodically. less maintenance.

【在 N**D 的大作中提到】
: pro.结实,好清理 无辐射。
: con.贵,花色不自然

avatar
a*2
11
哦,多谢
但是还是有问题,如果p或者q其中一个不在这颗树里,应该返回NULL,但是程序还是会
返回另一个node本身

node

【在 n*******w 的大作中提到】
: 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).
: from
: http://en.wikipedia.org/wiki/Lowest_common_ancestor
: 树可以递归定义,很多树的相关概念也递归定义比较好。

avatar
Y*i
12
肯定没有辐射吗? 好像也是用碎石压成的。
你们买的是哪种 SileStone? 我在选Color, 请推荐一, 两种。谢了。
avatar
n*w
13
这个是invalid input问题。可以问interviewer需不需要写code。
先写完问题本身的code,有时间考虑这种复杂点的invalid的情况。
无非就是遍历树,看能不能找到p 和 q。O(n)的时间。

【在 a**********2 的大作中提到】
: 哦,多谢
: 但是还是有问题,如果p或者q其中一个不在这颗树里,应该返回NULL,但是程序还是会
: 返回另一个node本身
:
: node

avatar
f*t
14
这段代码不能处理如果只有一个node在树里的情况,不一定能满足面试时的要求,一定
得跟面试官问清楚
avatar
w*x
15
返回bool, 用输出参数不就解决了?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。