Skip to content

Instantly share code, notes, and snippets.

@cbweixin
Created December 22, 2016 05:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cbweixin/bca129dac132b32779ed6cc811ebb464 to your computer and use it in GitHub Desktop.
Save cbweixin/bca129dac132b32779ed6cc811ebb464 to your computer and use it in GitHub Desktop.
population next point II
TreeLinkNode leftMost = root;
while(leftMost!=null){
TreeLinkNode p = leftMost;
while(p!=null && p.left==null && p.right==null){
p = p.next;
}
if(p==null){
return;
}
leftMost = p.left!=null ? p.left : p.right;
TreeLinkNode cur = leftMost;
while(p!=null){
if(cur==p.left){
if(p.right != null){
cur.next = p.right;
cur = cur.next;
}
p = p.next;
}
else if(cur==p.right){
p = p.next;
}
else{
if(p.left==null && p.right==null){
p = p.next;
continue;
}
cur.next = p.left != null ? p.left : p.right;
cur = cur.next;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment