Kosmos

我以兴趣为饵,钓起生活的大鱼

目录
二叉树的递归遍历
/  

二叉树的递归遍历

二叉树遍历

前序遍历

static List<Integer> list = new ArrayList<>();   
  
    //前序遍历   
    public  static List<Integer> preorderTraversal(TreeNode root) {   
  
        if(root == null)   
        {   
            return null;   
        }   
        list.add(root.val);   
        preorderTraversal(root.left);   
        preorderTraversal(root.right);   
        return list;   
    }  

中序遍历

static List<Integer> list = new ArrayList<>();   
  
    //中序遍历   
    public  static List<Integer> midorderTraversal(TreeNode root) {   
  
        if(root == null)   
        {   
            return null;   
        }   
        midorderTraversal(root.left);   
        list.add(root.val);   
        midorderTraversal(root.right);   
        return list;   
    }  

后序遍历

public  static List<Integer> BhorderTraversal(TreeNode root) {   
  
        if(root == null)   
        {   
            return null;   
        }   
  
        BhorderTraversal(root.left);   
        BhorderTraversal(root.right);   
        list.add(root.val);   
        return list;   
    }  

其实这三个遍历差不多,只是list的添加元素的代码位置不一样
所谓的前序,中序,后序就是中间节点的位置


今日诗词 标题:二叉树的递归遍历
作者:ellenbboe
地址:https://zdone.top/articles/2019/08/05/1564992015331.html

评论