每日leetcode(25)
今天的题目是层次遍历,只不过反转过来而已
class Solution:
def levelOrderBottom(self, root: TreeNode) -> List[List[int]]:
if not root:
return []
#s1用于存放上一层的值,s2存放下一层的值,s4存放结果
s1=[]
s4=[[root.val]]
s1.append(root)
while s1:
s2=[]
s3=[]
for item in s1:
if item.left:
s2.append(item.left)
s3.append(item.left.val)
if item.right:
s2.append(item.right)
s3.append(item.right.val)
if s3:
s4.append(s3)
s1=s2
return s4[::-1]
```
性能一般,内存占用较大