LeetCode
Java版LeetCode
jiangkun0331
Bugs总是让我们无法心安
展开
-
【LeetCode】 101. 对称二叉树 Java版
对称二叉树给定一个二叉树,检查它是否是镜像对称的。实现思路:如果根节点为空,那就是对称的这里需要重新写一个函数判断根节点的左右子树是不是对称的如果左右都是空,那就是对称的如果有一个空那就不是对称的(left == null && right != null) || (left != null && right == null)然后需要左右子树的根节点的值相等的前提下,递归看左树的左,右树的右左树的右,右树的左代码:class TreeNode {.原创 2020-05-20 22:31:18 · 221 阅读 · 0 评论 -
【LeetCode】 110. 平衡二叉树 Java版
平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。实现思路:判断根节点是不是空,如果是空就是平衡二叉树接下来判断左右子树的高度差小于一,并且左右子树都是平衡二叉树,这棵树才是平衡二叉树(计算二叉树高度在这里计算二叉树深度)代码:class TreeNode { int val; TreeNode left; TreeNode right; TreeNod.原创 2020-05-20 22:25:03 · 330 阅读 · 0 评论 -
【LeetCode】 104. 二叉树的最大深度 Java版
二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。实现思路:通过递归完成,一棵二叉树的深度就是左右子树的深度的最大值 加上一最后得到结果代码:class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}public class Solution {.原创 2020-05-20 22:10:50 · 200 阅读 · 0 评论 -
【LeetCode】 572. 另一个树的子树 Java版
另一个树的子树给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。实现思路:如果两个根节点有一个是空的,那么就返回false判断t树是不是s这个树的本身判断t树是不是s左树的子树判断t树是不是s右树的子树代码:class TreeNode { int val; TreeNode left; TreeNode right; TreeN.原创 2020-05-20 22:06:12 · 215 阅读 · 0 评论 -
【LeetCode】 100. 相同的树 Java版
相同的树给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。实现思路:如果两个根节点都是空,那么就相同如果一个是空,那就不相同根节点都不为空的情况下看值是否相同,不同就false接着递归看两棵树的左边和右边相同不,同时相同就是true,否则就是false代码:class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(.原创 2020-05-20 21:59:49 · 159 阅读 · 0 评论 -
【LeetCode】 2. 两数相加 Java版
2. 两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> ...原创 2020-03-31 23:57:09 · 116 阅读 · 0 评论 -
【LeetCode】 1. 两数之和 Java版
1. 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]...原创 2020-03-30 22:33:38 · 129 阅读 · 0 评论