真是不容易啊,做这道题的时候脑子一团乱,感觉还是得劳逸结合啊。这道题的思想不难,就是宽搜BFS。通过设置一个flag来判断是否需要逆序输出。

我的做法虽然AC,但是觉得代码还是不好,空间占用较多。

 /**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
List<List<Integer>> result = new ArrayList< >();
Queue<TreeNode> queue = new LinkedList<>(); if(root == null)
{
return result;
}
queue.add(root);
boolean flag = true;
while (!queue.isEmpty())
{
int i=0;
List<Integer> tempList = new ArrayList<>();
int count = queue.size();
while (i<count) {
TreeNode Node = queue.poll();
tempList.add(Node.val);
if (Node.left != null) {
queue.add(Node.left);
}
if (Node.right != null) {
queue.add(Node.right);
}
i++;
}
if(flag==false)
{
Stack<Integer> tempstack = new Stack<>();
for (Integer tem: tempList
) {
tempstack.push(tem);
}
List<Integer> list2 = new ArrayList<>();
while (!tempstack.isEmpty())
{
list2.add(tempstack.pop());
}
result.add(list2); }
else
{
result.add(tempList);
}
flag=!flag;
}
return result;
}
}

最新文章

  1. oracle合并版本
  2. Java链式编程接口
  3. get 与 post
  4. android导入项目出现style错误,menu错误
  5. JSON 与JAVA对象之间的转换(转)
  6. Codeforces Round #222 (Div. 1) C. Captains Mode 对弈+dp
  7. raid之理解
  8. [转]:移动端H5页面高清多屏适配方案
  9. OpenCV2马拉松第14圈——边缘检測(Sobel,prewitt,roberts)
  10. FAAC1.28 在海思HI3520D/HI3515A平台linux中的编译 优化
  11. iOS开发之UIPickerView
  12. Web自动化框架LazyUI使用手册(8)--excel数据驱动详解(ExcelDataProvider)
  13. Volley,小并发网络请求的好帮手
  14. 在java中如何实现字符串的反转
  15. 第28月第22天 iOS动态库
  16. html页面调用js文件里的函数报错--&gt;方法名 is not defined处理方法
  17. [Hadoop]Hadoop章1 Hadoop原理解析
  18. Zookeeper Client基础操作和Java调用
  19. [No0000D2]ClearCSharp编程清理脚本批处理bat
  20. java BASE64流 输出图片。

热门文章

  1. win7 64位搭建Mantis 缺陷管理系统(2)
  2. [poj1144]Network(求割点模板)
  3. 《精通Spring4.X企业应用开发实战》读后感第四章(资源访问)
  4. ubuntu18.04安装配置opencv3.4.0
  5. Mysql深入理解(1)
  6. Jenkins+Git+Docker+K8s部署
  7. 服务器安装docker后免除sudo命令
  8. PAT甲级——1110 Complete Binary Tree (完全二叉树)
  9. Codeforces 1175E(倍增)
  10. 用 scp 命令通过 SSH 互传文件