
LeetCode
个人解法,可能不是最优解法,初刷LeetCode,后续会慢慢优化之前的解法
Fly~~
这个作者很懒,什么都没留下…
展开
-
python实现删除给出链表中的重复元素
一、问题描述删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次例如:给出的链表为1→1→21\to1\to21→1→2,返回1→21 \to 21→2.给出的链表为1→1→2→3→31\to1\to 2 \to 3 \to 31→1→2→3→3,返回1→2→31\to 2 \to 31→2→3.数据范围:链表长度满足 0≤n≤1000 \le n \le 1000≤n≤100,链表中任意节点的值满足 ∣val∣≤100|val| \le 100∣val∣≤100进原创 2022-03-19 13:38:34 · 2350 阅读 · 0 评论 -
输出数组最小的K个数
题目描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组class Solution: def GetLeastNumbers_Solution(self, tinput, k): # write code here if k>len(tinput): return [] tinput.sort(原创 2021-05-06 15:20:28 · 251 阅读 · 0 评论 -
反转链表
输入一个链表,反转链表后,输出新链表的表头。# -*- coding:utf-8 -*-class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: # 返回ListNode def ReverseList(self,pHead): # write code here if pHead==None or pHe原创 2021-05-06 15:09:27 · 94 阅读 · 0 评论 -
LeetCode21—— 相同的树
LeetCode21—— 相同的树前言:题目内容:给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:p = [1,2,3], q = [1,2,3]输出:true示例 2:输入:p = [1,2], q = [1,null,2]输出:false示例 3:输入:p = [1,2,1], q = [1,1,2]输出:false来源:力扣(LeetCode)链接:htt原创 2021-03-21 13:56:49 · 122 阅读 · 0 评论 -
LeetCode20—— 合并两个有序数组
LeetCode20—— 合并两个有序数组前言:题目内容:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。示例 1:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,原创 2021-03-19 14:42:26 · 177 阅读 · 1 评论 -
LeetCode19—— 删除排序链表中的重复元素
LeetCode19—— 删除排序链表中的重复元素前言:题目内容:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-listpython实原创 2021-03-18 14:19:45 · 101 阅读 · 0 评论 -
LeetCode18—— 爬楼梯
LeetCode18—— 爬楼梯前言:题目内容:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶来源:力扣(LeetCode)链接:https://原创 2021-03-17 14:14:28 · 156 阅读 · 1 评论 -
LeetCode17—— x 的平方根
LeetCode17—— x 的平方根前言:题目内容:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sqrtxpython实现:方法一class Solution(object): def mySqrt(self, x): """ :type x: int :rtype: int """ return int(x**0.5)原创 2021-03-16 17:17:07 · 138 阅读 · 0 评论 -
LeetCode16—— 二进制求和
LeetCode16—— 二进制求和学习目标:题目内容:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-binarypython实现:方法一:先求出二进制对应的十进制,求和以后返回二进制class Solution(object): def addBinary(self, a, b): """ :type a: str :type b: str :rty原创 2021-03-16 14:29:01 · 168 阅读 · 1 评论 -
LeetCode15—— 加一
LeetCode15—— 加一前言:题目内容:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits =原创 2021-03-15 15:03:28 · 128 阅读 · 0 评论 -
LeetCode14—— 最后一个单词的长度
LeetCode14—— 最后一个单词的长度前言:题目内容:给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = “Hello World”输出:5示例 2:输入:s = " "输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/length-of-last-word原创 2021-03-14 15:19:33 · 94 阅读 · 0 评论 -
LeetCode13—— 最大子序和
LeetCode13—— 最大子序和前言:题目内容:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-10原创 2021-03-14 13:53:00 · 107 阅读 · 0 评论 -
LeetCode12——外观数列
LeetCode12——外观数列前言:题目内容:给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = "1"countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下: 要 描述 一个数字字符串,首先要将字符串分割为 最小 数量的组,每个组 都由连续的最原创 2021-03-13 10:53:02 · 139 阅读 · 0 评论 -
LeetCode11——搜索插入位置
LeetCode11——搜索插入位置前言:题目内容:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 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来源:力扣(LeetCode)链接:https://leetco原创 2021-03-11 14:42:58 · 75 阅读 · 1 评论 -
LeetCode10——实现 strStr()
LeetCode10——实现 strStr()前言:题目内容:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/implement-strstrpython实现:方法一:class Solution(object): def strStr(self, haystack, needle): """ :type haystack: str :type needle: str原创 2021-03-11 13:00:51 · 109 阅读 · 1 评论 -
LeetCode9——移除元素
LeetCode9——移除元素前言:题目内容:示例 1:示例 2:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-elementpython实现:方法一:class Solution(object): def removeElement(self, nums, val): """ :type nums: List[int] :type val: int原创 2021-03-10 14:49:52 · 89 阅读 · 0 评论 -
LeetCode8——删除排序数组中的重复项
LeetCode8——删除排序数组中的重复项前言:题目内容:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array题目解法:class Solution(object): def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int原创 2021-03-09 21:13:39 · 122 阅读 · 0 评论 -
LeetCode7——合并两个有序链表
LeetCode7——合并两个有序链表前言:题目内容:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/mer原创 2021-03-08 19:31:56 · 120 阅读 · 0 评论 -
LeetCode6——有效的括号
LeetCode6——有效的括号前言:题目内容:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = “()”输出:true示例 2:输入:s = “()[]{}”输出:true示例 3:输入:s = “(]”输出:false示例 4:输入:s = “([)]”输出:false示例 5:输入:s = “{[]}”原创 2021-03-07 18:24:18 · 86 阅读 · 0 评论 -
LeetCode5——最长公共前缀
LeetCode5——最长公共前缀前言:题目内容:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-pre原创 2021-03-05 16:15:14 · 70 阅读 · 0 评论 -
LeetCode4——罗马数字转整数
LeetCode4——罗马数字转整数前言:题目内容:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/roman-to-integer题目解法:class Solution(object): def romanToInt(self, s): """ :type s: str :rtype: int """ a=['I', 'V', 'X', 'L',原创 2021-03-05 11:22:32 · 102 阅读 · 0 评论 -
LeetCode3——回文数
LeetCode3——回文数前言:题目内容:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读原创 2021-03-05 11:06:05 · 143 阅读 · 1 评论 -
LeetCode2——整数反转
LeetCode2——整数反转前言:题目内容:给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/p原创 2021-03-05 10:59:38 · 133 阅读 · 1 评论 -
LeetCode1——两数之和
LeetCode1——两数之和前言:题目内容:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。示例:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。来源:力扣(LeetCode)链接:htt原创 2021-03-05 10:42:42 · 108 阅读 · 1 评论