[leetcode] 103.二叉树的锯齿形遍历
生活随笔
收集整理的這篇文章主要介紹了
[leetcode] 103.二叉树的锯齿形遍历
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Q:
給定一個(gè)二叉樹,返回其節(jié)點(diǎn)值的鋸齒形層次遍歷。(即先從左往右,再?gòu)挠彝筮M(jìn)行下一層遍歷,以此類推,層與層之間交替進(jìn)行)。
例如:
給定二叉樹 [3,9,20,null,null,15,7],
? ? 3
? ?/ \
? 9 ?20
? ? / ?\
? ?15 ? 7
返回鋸齒形層次遍歷如下:
[[3],[20,9],[15,7] ]思路:正常的二叉樹層次遍歷+對(duì)輸出進(jìn)行處理
class Solution(object):def zigzagLevelOrder(self,root):res = []que = [root]if root == None:return reswhile que:tempList = []for i in range(len(que)):node = que.pop(0)tempList.append(node.val)if node.left:que.append(node.left)if node.right:que.append(node.right)res.append(tempList)temp = []for i in range(len(res)):if i%2 == 0:temp.append(res[i])else:temp.append(res[i][::-1])return (temp)總結(jié)
以上是生活随笔為你收集整理的[leetcode] 103.二叉树的锯齿形遍历的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [leetcode] 108.有序数组转
- 下一篇: [leetcode] 117 填充每个节