题目
代码
执行用时:40 ms, 在所有 Python3 提交中击败了32.56% 的用户
内存消耗:15.4 MB, 在所有 Python3 提交中击败了7.48% 的用户
通过测试用例:34 / 34
class Solution:
def levelOrder(self, root: TreeNode) -> List[int]:
if root is None:
return []
queue=[root]
ans=[]
while queue:
temp=queue.pop(0)
ans.append(temp.val)
if temp.left:
queue.append(temp.left)
if temp.right:
queue.append(temp.right)
return ans
【方法2】采用更优秀的api
执行用时:32 ms, 在所有 Python3 提交中击败了83.81% 的用户
内存消耗:15.3 MB, 在所有 Python3 提交中击败了36.22% 的用户
通过测试用例:34 / 34
class Solution:
def levelOrder(self, root: TreeNode) -> List[int]:
if not root: return []
res, queue = [], collections.deque()
queue.append(root)
while queue:
node = queue.popleft()
res.append(node.val)
if node.left: queue.append(node.left)
if node.right: queue.append(node.right)
return res

本文探讨了两种不同的二叉树层次遍历的Python实现方法。第一种方法使用基本的队列操作,而第二种方法利用了deque(双端队列)来提高效率。两种方法都在给定的测试用例中成功通过,但第二种方法在执行时间和内存消耗上表现更优,分别击败了83.81%和36.22%的用户。
210

被折叠的 条评论
为什么被折叠?



