iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >剑指Offer之Java算法习题精讲二叉树专题篇上
  • 872
分享到

剑指Offer之Java算法习题精讲二叉树专题篇上

2024-04-02 19:04:59 872人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

来和二叉树玩耍吧~???????????????? 题目一  解法 class Solution { public boolean isSymmetric(T

来和二叉树玩耍吧~????????????????

题目一

 解法



class Solution {
    public boolean isSymmetric(Treenode root) {
        return method(root.left,root.right);
    }
    public boolean method(TreeNode l,TreeNode r){
        if(l==null&&r==null) return true;
        if(l==null||r==null||l.val!=r.val) return false;
        return method(l.left,r.right)&&method(l.right,r.left);
    }
}

题目二

 解法



class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
         return method(nums,0,nums.length-1);
    }
    public TreeNode method(int[] nums,int l,int r){
        if(l>r) return null;
        int mid = l+(r-l)/2;
        TreeNode root = new TreeNode(nums[mid]);
        root.left = method(nums,l,mid-1);
        root.right = method(nums,mid+1,r);
        return root;
    }
}

题目三

解法



class Solution {
    public boolean isBalanced(TreeNode root) {
        if(root==null) return true;
        return Math.abs(method(root.left)-method(root.right))<=1&&isBalanced(root.left)&&isBalanced(root.right);
    }
    public int method(TreeNode root){
        if(root==null) return 0;
        return Math.max(method(root.left),method(root.right))+1;
    }
}

题目四

 解法



class Solution {
    public boolean hasPathSum(TreeNode root, int targetSum) {
        if(root==null) return false;
        if(root.left == null && root.right == null) return targetSum==root.val;
        return hasPathSum(root.left,targetSum-root.val)||hasPathSum(root.right,targetSum-root.val);
    }
}

题目五

 解法



class Solution {
    public TreeNode invertTree(TreeNode root) {
        if(root==null) return null;
        TreeNode node = new TreeNode(root.val);
        node.right = invertTree(root.left);
        node.left = invertTree(root.right);
        return node;
    }
}

到此这篇关于剑指Offer之Java算法习题精讲二进制专题篇的文章就介绍到这了,更多相关Java 二进制内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 剑指Offer之Java算法习题精讲二叉树专题篇上

本文链接: https://www.lsjlt.com/news/142969.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作