给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。
import java.util.ArrayList;
import java.util.List;
class TreeNode{
int val;
TreeNode left;
TreeNode right;
}
public class TreeDemo {
//二叉树的分层遍历
List <List<Integer>> result = new ArrayList<>();//返回最终结果
public List<List<Integer>> levelOrder(TreeNode root){
if(root == null){
return result;
}
helper(root,0);
return result;
}
private void helper(TreeNode root,int leval){
if(leval == result.size()){
result.add(new ArrayList<>());
}
result.get(leval).add(root.val);
if(root.left != null){
helper(root.left,leval + 1);
}
if(root.right != null){
helper(root.right,leval + 1);
}
}
}