二叉树的定义 以及前中后序,层序遍历

在这里插入图片描述
在这里插入图片描述

class Solution {
    
    
    List <Integer> list = new ArrayList<>();
    public List<Integer> preorderTraversal(TreeNode root) {
    
    
        if(root==null)
            return new ArrayList<>();
        list.add(root.val);
        preorderTraversal(root.left);
        preorderTraversal(root.right);
        return list;
    }
}
class Solution {
    
    
    List <Integer> list = new ArrayList<Integer>();
    public List<Integer> inorderTraversal(TreeNode root) {
    
    
        if(root == null)
            return list;
        inorderTraversal(root.left);
        list.add(root.val);
        inorderTraversal(root.right);
        return list;
    }
}
class Solution {
    
    
    List <Integer> list = new ArrayList<Integer>();
    public List<Integer> postorderTraversal(TreeNode root) {
    
    
        if(root == null)
            return new ArrayList<Integer>();
        postorderTraversal(root.left);
        postorderTraversal(root.right);
        list.add(root.val);
        return list;
    }
}

层序遍历:
层序遍历我认为也可以看作是树的广度优先搜索(BFS),以根节点开始,依次遍历一级邻接点,二级邻接点…等等
具体实现是用队列去实现
在这里插入图片描述
力扣对于层序遍历的演示

class Solution {
    
    
    Queue<TreeNode> queue = new LinkedList<TreeNode>();
    List<List<Integer>> list = new ArrayList<List<Integer>>();
    public List<List<Integer>> levelOrder(TreeNode root) {
    
    
        if(root == null)
            return list;
        queue.offer(root);
        while(!queue.isEmpty()){
    
    
            int size = queue.size();
            List<Integer> innerList = new ArrayList<Integer>();;
            while(size--!=0){
    
    
                TreeNode treeNode = queue.poll();
                innerList.add(treeNode.val);
                if(treeNode.left != null)
                    queue.add(treeNode.left);
                if(treeNode.right != null)
                    queue.add(treeNode.right);
            }
            if(innerList != null)
                list.add(innerList);
        }
        return list;
    }
}

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_45311187/article/details/110815326