$25 Gift Card WhenTransfer Prescription @WALGREENS# PennySaver - 省钱一族
a*0
1 楼
题目很简单 思路就是 level order traverse 其间每一层除了最后一个node 其他的
node的next都指向本层的下一个 最后一个node的next指向null
不过老过不了OJ 报错 而且我自己在eclipse上跑了一下 发现自己跑的结果和报错的情
况不一样 难道是oj错了
/**
* Definition for binary tree with next pointer.
* public class TreeLinkNode {
* int val;
* TreeLinkNode left, right, next;
* TreeLinkNode(int x) { val = x; }
* }
*/
public class Solution {
public void connect(TreeLinkNode root) {
if(root == null)
return;
LinkedList queue = new LinkedList();
queue.add(root);
while(!queue.isEmpty()){
int size = queue.size();
int i=0;
while(i<= size-1){
if(i == size-1){
TreeLinkNode curr = queue.poll();
if(curr.left != null)
queue.offer(curr.left);
if(curr.right != null)
queue.offer(curr.right);
curr.next = null;
i++;
}else{
TreeLinkNode curr = queue.poll();
if(curr.left != null)
queue.offer(curr.left);
if(curr.right != null)
queue.offer(curr.right);
curr.next = queue.peek();
i++;
}
}
}
}
}
oj的信息似乎不对啊
Submission Result: Wrong Answer More Details
Input:
{1,2}
Output:
{1,2,#,2,#}
Expected:
{1,#,2,#}
node的next都指向本层的下一个 最后一个node的next指向null
不过老过不了OJ 报错 而且我自己在eclipse上跑了一下 发现自己跑的结果和报错的情
况不一样 难道是oj错了
/**
* Definition for binary tree with next pointer.
* public class TreeLinkNode {
* int val;
* TreeLinkNode left, right, next;
* TreeLinkNode(int x) { val = x; }
* }
*/
public class Solution {
public void connect(TreeLinkNode root) {
if(root == null)
return;
LinkedList
queue.add(root);
while(!queue.isEmpty()){
int size = queue.size();
int i=0;
while(i<= size-1){
if(i == size-1){
TreeLinkNode curr = queue.poll();
if(curr.left != null)
queue.offer(curr.left);
if(curr.right != null)
queue.offer(curr.right);
curr.next = null;
i++;
}else{
TreeLinkNode curr = queue.poll();
if(curr.left != null)
queue.offer(curr.left);
if(curr.right != null)
queue.offer(curr.right);
curr.next = queue.peek();
i++;
}
}
}
}
}
oj的信息似乎不对啊
Submission Result: Wrong Answer More Details
Input:
{1,2}
Output:
{1,2,#,2,#}
Expected:
{1,#,2,#}