LeetCode 刷题
熊猫火炮
这个作者很懒,什么都没留下…
展开
-
LeetCode 旋转数组
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] 和 k...原创 2019-08-03 13:04:37 · 55 阅读 · 0 评论 -
LeetCode 反转链表
输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL按照过程依次翻转。# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x#...原创 2019-08-17 17:04:12 · 62 阅读 · 0 评论 -
LeetCode 回文链表
链表的回文判断,因为限制了空间复杂度。所以不能采用建立一个列表去存储该链表。所以想到了将链表翻转,然后搜索到中间位置,对中间位置之后的链表进行翻转,然后对比即可。class Solution: def isPalindrome(self, head: ListNode) -> bool: if head == None or head.next == None...原创 2019-08-18 21:37:57 · 59 阅读 · 0 评论 -
LeetCode 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。还是自己太菜了,想法是到了,但是编写的过程很痛苦让时间超了。完全可以先找到最短的字符串后,依次以单个去查找每个字符串中对应位置是否是该字符串,否则返回前一个该位置之前的字符串。class Solution: def longestCommonPrefix(self, strs: List[s...原创 2019-08-04 15:01:42 · 74 阅读 · 0 评论 -
LeetCode 实现 strStr()
实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。示例 :输入: haystack = "hello", needle = "ll"输出: 2输入: haystack = "aaaaa", needle = "bba"...原创 2019-08-04 11:35:57 · 65 阅读 · 0 评论 -
LeetCode 字符串转换整数 (atoi)
请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可...原创 2019-08-04 08:57:40 · 96 阅读 · 0 评论 -
LeetCode 验证回文字符串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false首先一定是要排除非字母数字的影响,一种想法就是正则中的sub替代,然后前后对比即可...原创 2019-08-04 08:32:06 · 69 阅读 · 0 评论 -
LeetCode 有效的字母异位词
给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这...原创 2019-08-03 22:00:08 · 48 阅读 · 0 评论 -
LeetCode 字符串中的第一个唯一字符
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = “leetcode”返回 0.s = “loveleetcode”,返回 2.注意事项:您可以假定该字符串只包含小写字母。class Solution: def firstUniqChar(self, s: str) -> int: s_dict = co...原创 2019-08-03 20:31:35 · 58 阅读 · 0 评论 -
LeetCode 整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。法1:最容易想到的方法就是依次取数,然后乘10累计。但是毕竟是字符串里...原创 2019-08-03 19:21:57 · 56 阅读 · 0 评论 -
LeetCode 反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:[“H”,“a”,“n”,“n”,“a”,“h”...原创 2019-08-03 18:45:48 · 162 阅读 · 0 评论 -
LeetCode 只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4法一:因为只有一个数,是不同的,所以 只要排序然后中间值与两边的值比较即可。当中没class Solution:...原创 2019-08-03 18:40:21 · 119 阅读 · 0 评论 -
LeetCode 存在重复元素
给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 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第一反应想到的就是用字典,也想过用桶,但是之前看到过数字...原创 2019-08-03 16:48:52 · 57 阅读 · 0 评论 -
LeetCode 合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:1->2->4, 1->3->4输出:1->1->2->3->4->4一种就是跟列表一样的想法,依次比较大小然后存入新的链表。class Solution: def mergeTwoLists(self, l1: Lis...原创 2019-08-17 17:51:55 · 83 阅读 · 0 评论