![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣
陈陈陈陈陈呀
大数据菜狗
展开
-
力扣 258. 各位相加
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。示例 1:输入: num = 38输出: 2解释: 各位相加的过程为:由于 2 是一位数,所以返回 2。原创 2024-07-31 15:43:52 · 158 阅读 · 0 评论 -
力扣题解v
题目删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.思路1.首先,把链表放入到列表中,然后,DEL()函数删除倒数第n个节点,然后,在把列表还原成链表。2.使用计数把链表长度计算出来,使用长度减n加1,使用ff等于倒数第n个元素的值,然后,进行覆盖操作,把指针指向下下个元素。从而原创 2021-01-02 21:59:29 · 117 阅读 · 0 评论 -
力扣题解
第二十四题题目70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。3. 1 阶 + 1 阶 + 1 阶4. 1 阶 + 2 阶5. 2 阶 + 1 阶思想斐波那契函数代码class Solution:原创 2020-12-28 20:14:09 · 70 阅读 · 0 评论 -
力扣题解
第二十三题题目4. 寻找两个正序数组的中位数给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 =原创 2020-12-27 19:30:23 · 88 阅读 · 0 评论 -
力扣题解
第二十二题题目请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入:head = [4,5,1,9], node = 1输出:[4,5,9]解释:给定你链表原创 2020-12-22 22:55:39 · 104 阅读 · 0 评论 -
力扣题解
第二十一题题目167. 两数之和 II - 输入有序数组给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7原创 2020-12-21 22:30:09 · 96 阅读 · 0 评论 -
力扣题解
第二十题题目169. 多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2思想因为给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素,所以,对nums进行排序,然后,返回nums[len(nums)//2],//进行原创 2020-12-20 22:43:45 · 90 阅读 · 0 评论 -
力扣题解
第十九题题目82. 删除排序链表中的重复元素 II给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3思路链表转列表,列表转链表代码# Definition for singly-linked list.# class ListNod原创 2020-12-19 22:23:53 · 118 阅读 · 1 评论 -
力扣题解
第十八题题目83. 删除排序链表中的重复元素给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3思路1.因为链表是事先排序过得,所以直接比较,若相同,移除元素,移除元 素方法,把下下个元素提到下个元素的位置。2.可以把链表转成列表,把列表相同元素移除,把列表转成链表,输出。代码原创 2020-12-17 22:44:43 · 387 阅读 · 0 评论 -
力扣题解
第十七题题目21. 合并两个有序链表将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路首先,设置一个空列表,然后,把链表中的元素插入到列表中,然后,使用sort()函数,对列表中的元素进行排序,然后把列表元素转链表。代码# Definition for singly-linked list.# clas原创 2020-12-16 22:23:30 · 335 阅读 · 0 评论 -
力扣题解
第十六题**题目 **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思路先把List排序,然后用for循环遍历,if判断nums[i]是否等于nums[i+1],若等于返回Tru原创 2020-12-15 22:15:20 · 68 阅读 · 0 评论 -
力扣题解
第十五题题目66. 加一给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]思路原创 2020-12-14 22:05:20 · 191 阅读 · 1 评论 -
力扣题解
第十四题题目58. 最后一个单词的长度给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。示例:输入: “Hello World”输出: 5思路利用for循环进行倒序遍历,然后进行if判断若为空字符串,然后continue,返回0,若 判断是s[i]为空,长度不为0,则返回长度,判断s[i]不原创 2020-12-13 22:46:10 · 334 阅读 · 2 评论 -
力扣题解
第十三题题目28. 实现 strStr()实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba”输出: -1说明:当 needle 是空字符串时,我们应原创 2020-12-11 18:03:42 · 184 阅读 · 0 评论 -
力扣题解
第十二题题目43. 字符串相乘给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”示例 2:输入: num1 = “123”, num2 = “456”输出: “56088”说明:num1 和 num2 的长度小于110。num1 和 num2 只包含数字 0-9。num1 和 num2 均不以零开头,除非是数字 0 本身。不能使原创 2020-12-10 17:54:04 · 273 阅读 · 0 评论 -
力扣题解
第十一题题目27. 移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums =原创 2020-12-10 17:27:52 · 126 阅读 · 0 评论 -
力扣题解
第十题题目12. 整数转罗马数字罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为原创 2020-12-09 19:18:29 · 76 阅读 · 0 评论 -
力扣题解
第九题题目88. 合并两个有序数组给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6原创 2020-12-08 16:56:39 · 86 阅读 · 1 评论 -
力扣题解
第八题题目34. 在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例 1:输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例 2:输入:nums = [5,7,7,8,8,10], target = 6原创 2020-12-07 22:54:01 · 109 阅读 · 0 评论 -
力扣题解
第七题删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的原创 2020-12-06 22:36:49 · 75 阅读 · 0 评论 -
力扣题解
第五题搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 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思路把target插入到List中用sort()函数排序,for循环遍历查找代码class So原创 2020-12-05 18:09:14 · 100 阅读 · 0 评论 -
力扣题解
第四题14. 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。思路对列表中进行遍历比较,然后进行切片,输出代码class Solution(object): def longestCommon原创 2020-12-05 17:47:25 · 233 阅读 · 0 评论 -
力扣题解
第四题罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX +原创 2020-12-03 18:10:52 · 123 阅读 · 0 评论 -
力扣题解
第三题题目9. 回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。代码class Solution(object): def isPalindrome(se原创 2020-12-02 22:43:13 · 323 阅读 · 1 评论