题目:
Populate each next pointer to point to its next right node. If there is no next right node, the next pointer should be set to NULL
.
Initially, all next pointers are set to NULL
.
- You may only use constant extra space.
- You may assume that it is a perfect binary tree (ie, all leaves are at the same level, and every parent has two children).
此题的思路包括两层循环:从左至右,从上到下
先横向遍历该层的节点,若为左子树节点则指向右子树节点,右节点需在上层节点next指向不为空的情况指向下一个节点的左子树节点(内循环)
再以下一层第一个左节点为起点遍历(外循环)
</pre><pre name="code" class="python">class Solution: # @param root, a tree node # @return nothing def connect(self, root): if(root): pre=root cur=TreeNode(0) while(pre.left): cur=pre while(cur): cur.left.next=cur.right if(cur.next): cur.right.next=cur.next.left cur=cur.next pre=pre.left
时间: 2024-09-30 03:31:41