Leecode
努力的码农x
这个作者很懒,什么都没留下…
展开
-
Leecode 203:移除链表元素
删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5/** * Definition for singly-linked list. * public class ListNode { * int val; * L...原创 2020-01-29 11:21:34 · 161 阅读 · 0 评论 -
Leecode 268:缺失数字
给定一个包含 0, 1, 2, …, n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8class Solution { public int missingNumber(int[] nums) { int flag = -1; ...原创 2020-01-15 10:41:32 · 190 阅读 · 0 评论 -
Leecode 219:重复元素 II
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: nums = [1,2,3,1,2,3]...原创 2020-01-14 16:44:06 · 147 阅读 · 0 评论 -
Leecode 217:存在重复元素
给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true解题思路:暴力求解,循环,碰到相同的就返回true。c...原创 2020-01-14 16:25:09 · 122 阅读 · 0 评论 -
Leecode 66:加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。class S...原创 2020-01-10 15:49:15 · 126 阅读 · 0 评论 -
Leecode 88:合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,...原创 2020-01-10 15:29:49 · 112 阅读 · 0 评论 -
Leecode 58:最后一个单词的长度
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: “Hello World”输出: 5解题思路:1.首先判断字符串是否为空,为空直接返回02.从字符串末尾开始去掉空格,得到末尾去掉空格的字符串3.对经过1,2处理的字符串从头查找,找出最后一个单词的...原创 2020-01-08 15:06:50 · 106 阅读 · 0 评论 -
Leecode 28:实现 strStr()
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba...原创 2020-01-08 14:29:16 · 122 阅读 · 0 评论 -
Leecode 35:搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0思路:先比较输组...原创 2020-01-07 18:27:50 · 146 阅读 · 0 评论 -
Leecode 27:移除元素
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为...原创 2020-01-07 18:15:30 · 111 阅读 · 0 评论 -
Leecde 111.二叉树的最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最小深度 2.Java:/** * Definition for a binary tree node. * public class TreeNode { * int...原创 2019-08-04 21:42:44 · 113 阅读 · 0 评论 -
Leecode 104.二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。解题思路:如果root为空,则返回0。采用递归的思想,找到root左子树的最大高度,root右子树的最大高度,比较。若左子树的最大高度大于右子树的最大高度,则树的最大高度...原创 2019-07-26 20:06:48 · 117 阅读 · 0 评论 -
Leecode 101.对称二叉树
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:解题思路:如果根节点为空,直接返回true。若根节点不为null,则比较根节点的左子树和右子树。在比较左子树和右子树时,就是判断左子树和右子树是否互为镜像。两个树互为镜像: 它们的两个根结点具有相同的值。 每个树的右子...原创 2019-07-25 20:28:56 · 121 阅读 · 0 评论 -
Leecode 100.相同的树
给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。解题思路:如果两棵树都为空,返回true,如果一个树根节点为空,另一个树根节点不为空,则返回false。如果都不为空,若跟节点对应的值相等,则继续比较左子树和右子树,若不等,则返回false。Java:/** * Definition for a binary tree n...原创 2019-07-25 20:19:51 · 92 阅读 · 0 评论 -
Leecode 2.两数相加
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> ...原创 2019-08-03 00:24:19 · 112 阅读 · 0 评论 -
Leecode 21.合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:如果l1为空,则返回l2 ,如果l2为空,则返回l1,如果l1和l2同时为空,则返回空。当l1和l2不空时,新申请一个链表l3,按照值的大小依次排列。当l...原创 2019-08-03 00:07:52 · 235 阅读 · 0 评论 -
Leecode 94.二叉树的中序遍历
给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3]输出: [1,3,2]中序遍历:中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。若二叉树为空则结束返回,否则:(1)中序遍历左子树(2)访问根结点(3)中序遍历右子树Java...原创 2019-07-24 20:05:46 · 130 阅读 · 0 评论 -
Leecode 1.两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路:从数组的第一...原创 2019-07-24 19:38:45 · 170 阅读 · 0 评论