LeetCode 103. 二叉树的锯齿形层序遍历
题目描述
LeetCode 103. 二叉树的锯齿形层序遍历
提示:
一、解题关键词
树中节点数目在范围 [0, 2000] 内
-100 <= Node.val <= 100
二、解题报告
1.思路分析
2.时间复杂度
3.代码示例
class Solution {
public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
List<List<Integer>> resultList = new ArrayList<>();
if(null == root){return resultList;}
Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
boolean leftToRight = true;
while(!queue.isEmpty()){
List<Integer> level = new ArrayList<>();
int count = queue.size();
for(int i = 0; i < count;i++){
TreeNode node = queue.poll();
if(leftToRight){
level.add(node.val);
}else{
level.add(0,node.val);
}
if(node.left != null){
queue.add(node.left);
}
if(node.right != null){
queue.add(node.right);
}
}
resultList.add(level);
leftToRight = !leftToRight;
}
return resultList;
}
}
2.知识点
广度优先,深度优先 都可以做 需要给出反转的标识
总结