码迷,mamicode.com
首页 > 其他好文 > 详细

按之字形顺序打印二叉树

时间:2019-04-17 00:03:22      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:pre   bsp   als   style   roo   eve   node   sem   false   

请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。

 

java:

 1 import java.util.*;
 2 
 3 /*
 4 public class TreeNode {
 5     int val = 0;
 6     TreeNode left = null;
 7     TreeNode right = null;
 8 
 9     public TreeNode(int val) {
10         this.val = val;
11 
12     }
13 
14 }
15 */
16 public class Solution {
17     public ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
18         ArrayList<ArrayList<Integer> > res = new ArrayList<ArrayList<Integer> >() ;
19         if (pRoot == null)
20             return res ;
21         Queue<TreeNode> queue = new LinkedList<TreeNode>() ;
22         queue.add(pRoot) ;
23         boolean flag = false ;
24         while(!queue.isEmpty()){
25             ArrayList<Integer> list = new ArrayList<Integer>() ;
26             int len = queue.size() ;
27             for(int i = 0 ; i < len ; i++){
28                 TreeNode node = queue.poll() ;
29                 list.add(node.val) ;
30                 if (node.left != null)
31                     queue.add(node.left) ;
32                 if (node.right != null)
33                     queue.add(node.right) ;
34             }
35             if (flag == true){
36                 Collections.reverse(list) ;
37             }
38             flag = !flag ;
39             if (list != null){
40                 res.add(list) ;
41             }
42         }
43         
44         return res ;
45     }
46 
47 }

 

按之字形顺序打印二叉树

标签:pre   bsp   als   style   roo   eve   node   sem   false   

原文地址:https://www.cnblogs.com/mengchunchen/p/10720912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!