树结构:
public class TreeNode {
int val = 0;
TreeNode left = null;
TreeNode right = null;
public TreeNode(int val) {
this.val = val;
}
}
二叉树的层次遍历方式一:递归调用(参考网上的方法),先序遍历递归时多传递一个层次数,按照该层次数保存节点相关值。
private List<List<Integer>> resList = new ArrayList<List<Integer>>();
public static void levelTraversal(int dep, TreeNode root) {
<span> </span>if(root == null) {
<span> </span>return ;
}
if(resList.size() > dep) {
resList.get(dep).add(root.val) ;
} else {
List<Integer> r = new ArrayList<Integer>() ;
r.add(root.val) ;
resList.add(r) ;
}
levelTraversal(dep+1, root.left);
levelTraversal(dep+1, root.right) ;
}