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

  1. 题目链接

  2. 解题思路:其实就是在层序遍历的过程中,把next指针填上

  3. 代码

    class Solution:
        def connect(self, root: 'Optional[Node]') -> 'Optional[Node]':
            if root == None:
                return None
            # 层序遍历的过程中,填好next
            queue = deque()
            queue.append(root)
            cur_count = 1
            next_count = 0
            while queue:
                cur = queue.popleft()
                if cur.left:
                    next_count += 1
                    queue.append(cur.left)
                if cur.right:
                    next_count += 1
                    queue.append(cur.right)
                cur_count -= 1
                if cur_count == 0:
                    cur_count = next_count
                    next_count = 0
                else:
                    cur.next = queue[0]
            return root
    
posted @ 2024-12-26 14:39  ouyangxx  阅读(11)  评论(0)    收藏  举报