LeetCode
bellis__
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode-Python-(83)删除排序链表中的重复元素
删除排序链表中的重复元素 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例1: 输入: 1->1->2 输出: 1->2 示例2: 输入: 1->1->2->3->3 输出: 1->2->3 解题思路 如果q和q的下一个元素的值相同,直接跳过此元素,即: q.next=q.next.next 这时链表变成了: 这时再进行一次遍历,如果q的值与q的下一个元素的值不一致,那么q向后一位移动,q.next会自动向后一位移动:q原创 2020-09-25 00:11:27 · 197 阅读 · 0 评论 -
LeetCode-Python-(206)反转链表
反转链表 反转一个单链表。 示例: 输入:1->2->3->4->5->NULL 输出:5->4->3->2->1->NULL 解题思路: 参考博客 代码: class Solution: def reverseList(self, head: ListNode) -> ListNode: if head==None or head.next==None: return head原创 2020-09-24 23:55:08 · 4397 阅读 · 0 评论 -
LeetCode简单-Python-(21)合并两个有序链表
21、合并两个有序链表 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 解题思路: 哈哈哈哈哈哈这个图好形象 如何递归:判断l1和l2哪个的头结点更小,然后较小结点的next指针指向(较小结点后面一个与较大结点中)较小的一个,调用递归解决 终止条件:当两个链表为空时,表示已合并完成 代码: class Solut原创 2020-08-17 15:56:59 · 386 阅读 · 0 评论 -
LeetCode简单-Python-(20)有效的括号
20、有效的括号 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例1: 输入: “()” 输出: true 示例2: 输入: “()[]{}” 输出: true 示例3: 输入: “(]” 输出: false 示例4: 输入: “([)]” 输出: false 示例5: 输入: “{[]}” 输出: true 解原创 2020-08-16 11:11:30 · 338 阅读 · 0 评论 -
LeetCode简单-Python-(14)最长公共前缀
14、最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 所有输入只包含小写字母 a-z 。 示例1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 输入: [“dog”,“racecar”,“car”] 输出: “” 解释: 输入不存在公共前缀。 解题思路: 先使用zip把字符串根据下标打包成数组 判断数组中的元素是否相同,若都相同就返回该元素 代码: class Solution: def longe原创 2020-08-15 12:48:53 · 288 阅读 · 0 评论 -
LeetCode简单-Python-(13)罗马数字转整数
13、罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左原创 2020-08-14 22:17:00 · 356 阅读 · 0 评论 -
LeetCode简单-Python-(9)回文数
9、回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例1: 输入: 121 输出: true 示例2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 解题思路: 先对给定的数进行判断 如果是正数或0,将其转化为字符串后反转在转换为整数,判断和原来是否相等 如原创 2020-08-14 20:34:00 · 199 阅读 · 0 评论 -
LeetCode简单-Python-(7)整数反转
7、整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1: 输入: 123 输出: 321 示例2: 输入: -123 输出: -321 示例3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 解题思路: 先把数分为正数和负数两个区间,再分别进行溢出的判断: 1、如果给定的数大于等于0,将数转化为字符串再进行反转再转原创 2020-08-14 20:10:40 · 296 阅读 · 0 评论 -
LeetCode简单-Python-(1)两数之和
1、两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解题思路: 方法1:一次for循环 用一个for循环,在遍历nums的同时直接在里面查询target-nums[i]是否在原创 2020-08-14 10:21:16 · 198 阅读 · 0 评论
分享