47. Leetcode 107 - 二叉树的层次遍历 ii (二叉树-二叉树遍历)
生活随笔
收集整理的這篇文章主要介紹了
47. Leetcode 107 - 二叉树的层次遍历 ii (二叉树-二叉树遍历)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你二叉樹的根節點 root ,返回其節點值 自底向上的層序遍歷 。 (即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷)示例 1:輸入:root = [3,9,20,null,null,15,7]
輸出:[[15,7],[9,20],[3]]
示例 2:輸入:root = [1]
輸出:[[1]]
示例 3:輸入:root = []
輸出:[]# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = rightclass Solution:def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:# 方法二 DFSif not root:return []res = []def dfs(root, index):if root == None:return []if len(res) < index:res.append([])res[index-1].append(root.val)dfs(root.left, index+1)dfs(root.right, index+1)dfs(root,1)return res[::-1]# 方法一 BFSif not root:return []queue = [root]res = []while queue:tmp = []size = len(queue)for _ in range(size):node = queue.pop(0)tmp.append(node.val)if node.left:queue.append(node.left)if node.right:queue.append(node.right)res.append(tmp)return res[::-1]
總結
以上是生活随笔為你收集整理的47. Leetcode 107 - 二叉树的层次遍历 ii (二叉树-二叉树遍历)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 41. Leetcode 662. 二叉
- 下一篇: 49. Leetcode 117. 填充