由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - leetcode populating next pointer 2
相关主题
Populating Next Right Pointers in Each Node IIleetcode Copy List with Random Pointer
leetcode上的populate next node I and II请问大牛们如何提高解决leetcode上面Linkedlist的题的能力?
有人同看Populating Next Right Pointers in Each Node II的recursive写法么?Google second phone interview
Populating Next Right Pointers in Each Node II用Python练习算法题
copy link with random additional pointers大牛们帮忙,Rverse Nodes in k-Group
M家 onsite 悲剧,同胞们弄死烙印吧如何删除 linked list 的最后一个元素 (转载)
发个pure storage的interviewstreet题目请教大牛: Leetcode partition list: Time Limit Exceeded
请教下copy list with random pointerG题,把binary tree里面的sibling节点连接起来
相关话题的讨论汇总
话题: curr话题: next话题: left话题: prev话题: right
进入JobHunting版参与讨论
1 (共1页)
c********p
发帖数: 1969
1
求一个好理解的递归的方法。
已经知道queue的方法了。递归怎么求阿?因为中间有空的,所以。。。
c********p
发帖数: 1969
2
UP UP
r*****e
发帖数: 792
3
hint, handle right child first.
and recurse for right first too.

【在 c********p 的大作中提到】
: 求一个好理解的递归的方法。
: 已经知道queue的方法了。递归怎么求阿?因为中间有空的,所以。。。

c********p
发帖数: 1969
4
有没有sample code阿。。。
谢谢咯!

【在 r*****e 的大作中提到】
: hint, handle right child first.
: and recurse for right first too.

r*****e
发帖数: 792
5
void connect(TreeLinkNode *root){
if (!root) return;
TreeLinkNode *next = root->next;
while (next) {
if (next->left) {
next = next->left;
break;
}
if (next->right) {
next = next->right;
break;
}
next = next->next;
}
//connect right first and then left
if (root->right) root->right->next = next;
if (root->left) root->left->next = root->right? root->right:next;
//when recurse, do right first and then left
connect(root->right);
connect(root->left);
}

【在 c********p 的大作中提到】
: 求一个好理解的递归的方法。
: 已经知道queue的方法了。递归怎么求阿?因为中间有空的,所以。。。

c********p
发帖数: 1969
6
谢谢咯,我捧回去读读。。

【在 r*****e 的大作中提到】
: void connect(TreeLinkNode *root){
: if (!root) return;
: TreeLinkNode *next = root->next;
: while (next) {
: if (next->left) {
: next = next->left;
: break;
: }
: if (next->right) {
: next = next->right;

l*****s
发帖数: 774
7
iterative
class Solution {
public:
void connect(TreeLinkNode *root) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
TreeLinkNode *curr = root;
while(curr)
{
TreeLinkNode *left_most = NULL;
TreeLinkNode *prev = NULL;
while(curr)
{
if(!left_most) left_most = curr->left?curr->
left:curr->right;
if(curr->left)
{
if(prev) prev->next = curr->left;
prev = curr->left;
}
if(curr->right)
{
if(prev) prev->next = curr->right;
prev = curr->right;
}
curr = curr->next;
}
curr = left_most;
}
}
};

【在 c********p 的大作中提到】
: 求一个好理解的递归的方法。
: 已经知道queue的方法了。递归怎么求阿?因为中间有空的,所以。。。

c********p
发帖数: 1969
8
谢谢!

【在 l*****s 的大作中提到】
: iterative
: class Solution {
: public:
: void connect(TreeLinkNode *root) {
: // Start typing your C/C++ solution below
: // DO NOT write int main() function
: TreeLinkNode *curr = root;
: while(curr)
: {
: TreeLinkNode *left_most = NULL;

1 (共1页)
进入JobHunting版参与讨论
相关主题
G题,把binary tree里面的sibling节点连接起来copy link with random additional pointers
Leetcode swap Paris 这个怎么改进?M家 onsite 悲剧,同胞们弄死烙印吧
今天计划做20题发个pure storage的interviewstreet题目
google面试全过程(简装版)请教下copy list with random pointer
Populating Next Right Pointers in Each Node IIleetcode Copy List with Random Pointer
leetcode上的populate next node I and II请问大牛们如何提高解决leetcode上面Linkedlist的题的能力?
有人同看Populating Next Right Pointers in Each Node II的recursive写法么?Google second phone interview
Populating Next Right Pointers in Each Node II用Python练习算法题
相关话题的讨论汇总
话题: curr话题: next话题: left话题: prev话题: right