青岛中小企业网站制作,台州seo快速排名,素材网站源码,360做网站荆州给定一个二叉树#xff0c;返回该二叉树层序遍历的结果#xff0c;#xff08;从左到右#xff0c;一层一层地遍历#xff09; 例如#xff1a; 给定的二叉树是{3,9,20,#,#,15,7},
我的解法#xff1a; 在前序遍历的基础上#xff0c;增加一个深度参数#xff0c;结果…给定一个二叉树返回该二叉树层序遍历的结果从左到右一层一层地遍历 例如 给定的二叉树是{3,9,20,#,#,15,7},
我的解法 在前序遍历的基础上增加一个深度参数结果用集合保存保存位置为相应的深度索引
/** public class TreeNode {* int val 0;* TreeNode left null;* TreeNode right null;* public TreeNode(int val) {* this.val val;* }* }*/
ArrayListArrayListInteger listsnew ArrayList();public ArrayListArrayListInteger levelOrder (TreeNode root) {// write code herea(root,0);return lists;}public void a(TreeNode root,int deepNum){if(rootnull)return;ArrayListInteger list;//看看是否已经遍历过一些了如果没有就新建有了则往后面加之后再重新插入到lists对应位置通过add或setif(lists.size()deepNum1){list new ArrayList();list.add(root.val);lists.add(list);} else{list lists.get(deepNum);list.add(root.val);lists.set(deepNum,list);}a(root.left,deepNum1);a(root.right,deepNum1);}