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

Posted Alex_996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode Algorithm 116. 填充每个节点的下一个右侧节点指针相关的知识,希望对你有一定的参考价值。

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

Ideas

通过示例图可以很明显的看出来,next指针指向每一层的下一个节点,所以肯定跟二叉树的层序遍历有关。

然后,,,就没有然后了,层序遍历稍微改一下逻辑就可以了。

Code

Python

class Solution:
	def connect(self, root: 'Optional[Node]') -> 'Optional[Node]':
		if not root:
			return root
		
		queue = deque([root])
		while queue:
			size = len(queue)
			for i in range(size):
				node = queue.popleft()
				if i < size - 1:
					node.next = queue[0]
				if node.left:
					queue.append(node.left)
				if node.right:
					queue.append(node.right)
		return root

以上是关于LeetCode Algorithm 116. 填充每个节点的下一个右侧节点指针的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 日常填坑

leetcode116

Leetcode 116

[leetcode] 116. 填充同一层的兄弟节点

LeetCode 116. Populating Next Right Pointers in Each Node

LeetCode第116题—填充每个节点的下一个右侧节点指针—Python实现