52.填充每个节点的下一个右侧节点指针

class Solution {
    public Node connect(Node root) {
        if(root==null){
            return root;
        }
        Queue<Node> qu=new LinkedList<>();
        qu.offer(root);
        int le;
        Node nod1=root,nod2;
        while(!qu.isEmpty()){
            le=qu.size();
            if(le>1){
                nod1=qu.poll();
                if(nod1.left!=null){
                    qu.offer(nod1.left);
                }
                if(nod1.right!=null){
                    qu.offer(nod1.right);
                }
                le--;
            }
            while(le>0){
                nod2=qu.poll();
                nod1.next=nod2;
                nod1=nod2;
                if(nod1.left!=null){
                    qu.offer(nod1.left);
                }
                if(nod1.right!=null){
                    qu.offer(nod1.right);
                }
                if(le==1){
                    nod2.next=null;
                }
                le--;
            }
        }
        return root;
    }
}

 

class Solution(object):
    def connect(self, root):
        if root is None:
            return root
        qu=collections.deque()
        qu.append(root)
        nod1=root
        while qu:
            le=len(qu)
            if le>1:
                nod1=qu.popleft()
                if nod1.left:
                    qu.append(nod1.left)               
                if nod1.right:
                    qu.append(nod1.right)
                le-=1
            while le>0:
                nod2=qu.popleft()
                nod1.next=nod2
                nod1=nod2
                if nod1.left:
                    qu.append(nod1.left)
                if nod1.right:
                    qu.append(nod1.right)
                if le==1:
                    nod2.next=None
                le-=1
        return root

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值