树 图 排序算法基础总结~

首先祝Linux生日快乐开源不是免费!!!!!!这篇文章总结一下树,记得之前总结过,但是在遗忘知识这方面我绝对是大神级别的。这次立flag最后一次总结树二叉树,故名思意,有两个子节点的数据结构。为了更深刻的了解二叉树,先写个垃圾题。leetcode根据前序和中序遍历重建二叉树https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/int findrootPosIninorder(int[] inorder, int k
摘要由CSDN通过智能技术生成

首先祝Linux生日快乐

开源不是免费!!!!!!

这篇文章总结一下树,记得之前总结过,但是在遗忘知识这方面我绝对是大神级别的。这次立flag最后一次总结树

二叉树,故名思意,有两个子节点的数据结构。

为了更深刻的了解二叉树,先写个垃圾题。leetcode根据前序和中序遍历重建二叉树

力扣

int findrootPosIninorder(int[] inorder, int k){
        for(int i=0;i<inorder.length;i++){
            if(inorder[i]==k)return i;
        }
        return -1;
    }
    public TreeNode buildTree(int[] preorder, int[] inorder) {
        if(preorder.length==0)return null;
        TreeNode root=new TreeNode(preorder[0]);
        if(preorder.length==1)return root;
        int rootPosIninorder=findrootPosIninorder(inorder,preorder[0]);
        if(rootPosIninorder>0){
            root.left=buildTree(Arrays.copyOfRange(preorder,1,rootPosIninorder+1),Arrays.copyOfRange(inorder,0,rootPosIninorder));
        }
        if(inorder.length-rootPosIninorder-1>0){
            root.right=buildTree(Arrays.copyOfRange(preorder,rootPosIninorder+1,preorder.length),Arrays.copyOfRange(inorder,rootPosIninorder+1,inorder.length));
        }
         return root;
    }

一定要确定不越界再往数组里塞!!!

满二叉树,除了最后一层的叶子节点每个节点都有两个子节点。

完全二叉树是从上到下 从左到右编号和满二叉树一样的二叉树。

这里做一个leetcode919,懂和会不是一个概念,经常有懂王(自己)连层序遍历都寻思半天,比如我这个呆逼。力扣

TreeNode treeNode;
    pu
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值