标签:node bubuko level 方法 list 解决 bsp .com empty
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。
例如:
给定二叉树: [3,9,20,null,null,15,7]
,
通过递归方法,每次保存一层的节点和一层节点的值
public static List<List<Integer>> levelOrder(TreeNode root) { if (root==null)return null; List<List<Integer>> lists = new ArrayList<List<Integer>>(); List<Integer> List = new ArrayList<Integer>(); List.add(root.val); lists.add(List); List<TreeNode> treeNodes = new ArrayList<TreeNode>(); treeNodes.add(root); saveData(treeNodes,lists); return lists; } public static void saveData(List<TreeNode> treeNodes, List<List<Integer>> lists){ if(treeNodes.isEmpty())return ; List<TreeNode> nodeList = new ArrayList<TreeNode>(); List<Integer> list = new ArrayList<Integer>(); for(TreeNode treeNode:treeNodes){ if(treeNode.left!=null){ list.add(treeNode.left.val); nodeList.add(treeNode.left); } if(treeNode.right!=null){ list.add(treeNode.right.val); nodeList.add(treeNode.right); } } if(!list.isEmpty())lists.add(list); saveData(nodeList,lists); }
标签:node bubuko level 方法 list 解决 bsp .com empty
原文地址:https://www.cnblogs.com/hu95/p/10138673.html