力扣https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/
C#
//层序遍历之字型打印
public class Solution {
public IList<IList<int>> ZigzagLevelOrder(TreeNode root) {
var q=new Queue<TreeNode>();
var ret=new List<IList<int>>();
if(root==null) return ret;
q.Enqueue(root);
while(q.Count>0){
int size=q.Count;
var list=new List<int>();
for(int i=0;i<size;i++){
TreeNode tmp=q.Dequeue();
list.Add(tmp.val);
if(tmp.left!=null) q.Enqueue(tmp.left);
if(tmp.right!=null) q.Enqueue(tmp.right);
}
if(ret.Count%2==1) list.Reverse();
ret.Add(list);
}
return ret;
}
}