首页 > 学院 > 开发设计 > 正文

二叉树层级遍历并按行打印

2019-11-06 07:10:52
字体:
来源:转载
供稿:网友
public static int[][] PRintTree(TreeNode root) { // write code here int row = 0, col=0; // 指向二维数组的当前行 int[][] result = new int[500][500]; ArrayList<TreeNode> queue = new ArrayList<>(); TreeNode last = root;// 指向当前行的最后 queue.add(root); TreeNode nLast = root; while(!queue.isEmpty()) { TreeNode p = queue.remove(0); result[row][col++] = p.val; if(p.left != null) { queue.add(p.left); nLast = p.left; } if(p.right != null) { queue.add(p.right); nLast = p.right; } if(p.equals(last)){ //到达行末尾 row ++;// 下一行 col = 0; last = nLast; } } return result;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表