由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - G家intern电面新鲜面经
相关主题
求教Leetcode题目:Lowest Common AncestorL家这题咋搞,巨变态
一道google面试题Lowest common ancestor of two nodes of Binary Tree
讨论Amazon的一道题:根节点到叶节点之间最小和,并打印路径Print a binary tree in level order but starting from leaf node up to root
如何随机找二叉树中的任意节点?回馈本版,新鲜店面,新题新气象
一道在线题热腾腾的 LinkedIn 电面题攒RP
请教一道g算法题请教个G题目
Lowest Common AncestorFacebook电面题目
Lowest Common Ancestor of multiple nodes in a binary tree白痴问题:TreeNode 里面有指向 parent 的指针么?
相关话题的讨论汇总
话题: node话题: treenode话题: getparent话题: return话题: next
进入JobHunting版参与讨论
1 (共1页)
r******j
发帖数: 92
1
回报本版,发新鲜面经。今年第一面结束。move on了。下面这题就没搞出来。
Given: node.getParent(), node.getNextSibling(), node.getFirstChild()
Implement: getNextNode(node)
For example:
1
1.1
1.1.1
1.1.2
1.2
2
3
就是像章节序列一样的一个tree。
其他的都是常见题,
increment one;
count frequency of number in a list;
merge two sorted array and remove duplicate;
pow(int x, int y);
x****g
发帖数: 1512
2
是要这个?
有子节点,返回子节点.
没子节点,看兄弟节点.
没兄弟开始回溯父节点找父节点兄弟,找到或者到根退出?
唯一需要注意的是第3个持续回溯的可能?
getNextNode(node)
{
if(node==NULL) return null;
Node* next = node->getFirstChild();
if(next) return next;
next = node->getSlibing();
if(next) return next;
next = node->getParent();
while(next)
{
next = next->getSlibing();
if(next) return next;
next = next->getParent();
}
return NULL;
}
P*****f
发帖数: 2272
3
对,不过参数node为null时,抛出异常或者返回错误编码更好

【在 x****g 的大作中提到】
: 是要这个?
: 有子节点,返回子节点.
: 没子节点,看兄弟节点.
: 没兄弟开始回溯父节点找父节点兄弟,找到或者到根退出?
: 唯一需要注意的是第3个持续回溯的可能?
: getNextNode(node)
: {
: if(node==NULL) return null;
: Node* next = node->getFirstChild();
: if(next) return next;

r******j
发帖数: 92
4
你们是对的。哎,面试时一根筋了,总在想recursive的解。。。。
w*****h
发帖数: 423
5
多谢LZ~~
increment 1是什么意思?

【在 r******j 的大作中提到】
: 回报本版,发新鲜面经。今年第一面结束。move on了。下面这题就没搞出来。
: Given: node.getParent(), node.getNextSibling(), node.getFirstChild()
: Implement: getNextNode(node)
: For example:
: 1
: 1.1
: 1.1.1
: 1.1.2
: 1.2
: 2

m****r
发帖数: 120
6
可能是plus one那题

【在 w*****h 的大作中提到】
: 多谢LZ~~
: increment 1是什么意思?

m*******4
发帖数: 34
7
Bless!请问count frequency是什么意思,能再详解说一下吗?
l******a
发帖数: 64
8
是统计词频吧

【在 m*******4 的大作中提到】
: Bless!请问count frequency是什么意思,能再详解说一下吗?
S*A
发帖数: 7142
9
也写来玩玩。
struct node *getNextNode(struct node * node)
{
struct node * next;
assert(node);

if ((next = getFirstChild(node)))
return next;
while (node) {
if ((next = getNextSibling(node)))
return next;
node = getParent(node);
}
return NULL;
}

【在 x****g 的大作中提到】
: 是要这个?
: 有子节点,返回子节点.
: 没子节点,看兄弟节点.
: 没兄弟开始回溯父节点找父节点兄弟,找到或者到根退出?
: 唯一需要注意的是第3个持续回溯的可能?
: getNextNode(node)
: {
: if(node==NULL) return null;
: Node* next = node->getFirstChild();
: if(next) return next;

A*****o
发帖数: 284
10
struct TreeNode {
int val;
vector children;
TreeNode* getParent();
TreeNode* getNextSibling();
TreeNode* getFirstChild();
};
TreeNode* getNextNode(TreeNode *node) {
if (!node) return NULL;
TreeNode *r = node->getFirstChild();
if (r) return r;
r = node->getNextSibling();
if (r) return r;
r = r->getParent();
while (r) {
r = r->getNextSibling();
if (r) return r;
r = r->getParent();
}
return NULL;
}
w*******i
发帖数: 186
11
while循环写错了吧,
while (r) {
r = r->getNextSibling();
if (r) return r;
r = r->getParent();
}
如果r没有sibling,那么在循环里第二句r会为NULL,调用r->getParent()会报错
的。
可以改成
TreeNode* ancestor = r->getParent();
while (ancestor && !ancestor.getNextSibling())
ancestor = ancestor.getParent();

if (ancestor)
return ancestor.getNextSibling();
else
return null;

【在 A*****o 的大作中提到】
: struct TreeNode {
: int val;
: vector children;
: TreeNode* getParent();
: TreeNode* getNextSibling();
: TreeNode* getFirstChild();
: };
: TreeNode* getNextNode(TreeNode *node) {
: if (!node) return NULL;
: TreeNode *r = node->getFirstChild();

1 (共1页)
进入JobHunting版参与讨论
相关主题
白痴问题:TreeNode 里面有指向 parent 的指针么?一道在线题
请问二叉搜索树如何找到两个点的最近祖先?请教一道g算法题
T电面面经Lowest Common Ancestor
c++算法题一问Lowest Common Ancestor of multiple nodes in a binary tree
求教Leetcode题目:Lowest Common AncestorL家这题咋搞,巨变态
一道google面试题Lowest common ancestor of two nodes of Binary Tree
讨论Amazon的一道题:根节点到叶节点之间最小和,并打印路径Print a binary tree in level order but starting from leaf node up to root
如何随机找二叉树中的任意节点?回馈本版,新鲜店面,新题新气象
相关话题的讨论汇总
话题: node话题: treenode话题: getparent话题: return话题: next