Leetcode
天忆yty
这个作者很懒,什么都没留下…
展开
-
LeetCode 66.加一
题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4...原创 2019-10-15 20:58:55 · 97 阅读 · 0 评论 -
LeetCode 58.最后一个单词的长度
题目描述:给定一个仅包含大小写字母和空格' '的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5实现思路:1.先对s进行trim操作,然后从前向后查找,遇到空格就将计数器归零(C语言中没有可调用的trim函数,需自行实现)2.从后向...原创 2019-09-09 17:02:20 · 170 阅读 · 0 评论 -
LeetCode 100.相同的树
题目描述:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: ...原创 2019-09-09 16:17:58 · 128 阅读 · 2 评论 -
LeetCode 88. 合并两个有序数组
题目描述:给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3n...原创 2019-09-08 11:12:33 · 79 阅读 · 0 评论 -
LeetCode 83. 删除排序链表中的重复元素
题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3注意:head不是一个不存值的头节点相关代码:struct ListNode* deleteDuplicates(str...原创 2019-09-07 19:35:22 · 73 阅读 · 0 评论 -
LeetCode 38. 报数
题目描述:报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211被读作"one 1"("一个一") , 即11。11 被读作"two 1s"("两个一"), 即21。21 被读作"one 2", "one 1"("一个二"...原创 2019-09-07 18:28:04 · 75 阅读 · 0 评论 -
LeetCode 53. 最大子序和
题目描述:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。实现思路:从一个整数开始相加,记录最大累加和,当前累加和小于0,则从当前位置重新开始累加,每次累加后与记录的最大累加和进行比较。...原创 2019-09-05 16:18:34 · 67 阅读 · 0 评论 -
LeetCode 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输...原创 2019-07-05 11:20:04 · 81 阅读 · 0 评论 -
LeetCode 27.移除元素
题目描述:给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 n...原创 2019-05-08 10:18:35 · 145 阅读 · 2 评论 -
LeetCode 26. 删除排序数组中的重复项
题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 12。 你不需要考虑数组中超出新长度后面的元素。示...原创 2019-03-22 18:25:36 · 77 阅读 · 0 评论 -
LeetCode 21.合并两个有序链表(Java)
题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:(定义一个头结点可以不单独对第一个节点操作,同时避免空指针)代码:/** * Created by YTY on ...原创 2019-01-06 17:13:24 · 1022 阅读 · 0 评论 -
LeetCode 20.有效的括号(Java)
题目描述:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出:...原创 2018-12-31 15:47:31 · 145 阅读 · 0 评论 -
LeetCode 13.罗马数字转整数(Java)
题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为...原创 2018-12-31 15:19:04 · 445 阅读 · 0 评论 -
LeetCode 7.整数反转(Java)
题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就...原创 2018-12-30 15:16:15 · 125 阅读 · 0 评论 -
LeetCode 9.回文数(Java)
题目描述:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此...原创 2018-12-30 14:55:27 · 205 阅读 · 0 评论 -
LeetCode 2.两数相加(Java)
题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -&...原创 2018-12-28 10:37:05 · 259 阅读 · 0 评论 -
LeetCode 1.两数之和(Java)
题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]...原创 2018-12-27 14:06:21 · 153 阅读 · 0 评论