class Solution(object):
def connect(self, root):
if root is None:
return root
qu=collections.deque()
qu.append(root)
while qu:
le=len(qu)
count=0
if le>1:
nod1=qu.popleft()
if nod1.left:
qu.append(nod1.left)
if nod1.right:
qu.append(nod1.right)
le-=1
count=1
while le>0:
nod2=qu.popleft()
if count==1:
nod1.next=nod2#避免nod1是上一层的残留
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