leetcode
晴天下雨下雪下冰雹
这个作者很懒,什么都没留下…
展开
-
leetcode python3 回文数
一、整个数翻转判断1.思路:负数的回文肯定为false,0肯定为true,正数通过对10求余数和求除数运算将数翻转,最后判断与原先的值是否相等2.代码class Solution: def isPalindrome(self, x): if x<0: return False elif x==0: ...原创 2018-10-25 21:41:12 · 190 阅读 · 0 评论 -
leetcode 实现strStr() python3
1.思路:快慢指针法2.代码class Solution: def strStr(self, haystack, needle): """ :type haystack: str :type needle: str :rtype: int """ short=len(needle) ...原创 2018-11-08 21:46:15 · 188 阅读 · 0 评论 -
leetcode 移除元素 python3
一、自己思路:1.思路:双指针法:迭代慢指针,当发现相同元素时,将快指针从下一个元素开始进行循环,若发现不同的值,则进行元素交换。需要判断什么时候全部交换完毕了,设置flag2.代码:class Solution: def removeElement(self, nums, val): """ :type nums: List[int] ...原创 2018-11-07 22:36:02 · 174 阅读 · 0 评论 -
leetcode 合并两个有序链表 python3
一、非递归解法1.思路:因为无法得到链表的长度,因此使用while循环判断两个链表的各个节点的值,取较小的值,然后直到有一个链表为空,循环结束,在循环结束时,判断哪个链表为空,则直接在链表的head节点上加上即可2.代码# Definition for singly-linked list.# class ListNode:# def __init__(self, x):...原创 2018-11-02 18:42:41 · 457 阅读 · 0 评论 -
leetcode 有效的括号 python3
1.思路:通过栈实现括号时候匹配,对于左边的括号直接入栈,对于右边的括号就取出栈顶元素进行对比,若不属于同一种类型,则返回错误,最后判断栈是否为空,若为空则返回正确。2.知识点:对于python栈的使用:只能通过访问其一端来实现数据存储与检索的线性数据结构声明栈:stack=[], 添加元素:stack.append() 取栈顶元素:stack.pop()3.扩展点:对于py...原创 2018-11-02 17:25:49 · 280 阅读 · 0 评论 -
leetcode 最长公共前缀 python3
1.思路:取出第一个字符串的字串[:]与剩余的字符串进行匹配,直到匹配不成功时,返回第一个字串的部分的前i个字符串2.代码class Solution: def longestCommonPrefix(self, strs): j=0 if len(strs)==0: return "" elif len(s...原创 2018-11-02 16:41:47 · 116 阅读 · 0 评论 -
leetcode 删除排序数组中的重复项 python3
1.思路:数组完成排序后,我们可以放置两个指针 ii 和 jj,其中 ii 是慢指针,而 jj 是快指针。只要 nums[i] = nums[j]nums[i]=nums[j],我们就增加 jj 以跳过重复项。当我们遇到 nums[j] \neq nums[i]nums[j]̸=nums[i] 时,跳过重复项的运行已经结束,因此我们必须把它(nums[j]nums[j])的值复制到 nu...原创 2018-11-07 22:29:35 · 244 阅读 · 0 评论 -
leetcode python3 翻转整数
一、快捷的思路1.思路:将整数转为字符串,将字符串翻转之后,变为整数,根据整数的范围和正负,返回正确的值2知识:将字符串翻转的方法: ①切片的形式:string[::-1](步长为-1,并输出字符串) ②定义函数,将字符串转为list对象,通过list对象的reverse方法实现翻转 ...原创 2018-10-24 21:45:40 · 262 阅读 · 0 评论 -
leetcode python3 整数转罗马数字
一、自己思路1.思路:将数字分解成千位数、百位数、个位数,对不同的位数中分3个阶段进行讨论 ==9的、5-8之间的、==4的、1-3之间的。对于不同的分位数和阶段加上不同的符号处理:2.代码class Solution: def intToRoman(self, num): str="" if int(num/1000)>0: ...原创 2018-10-29 22:30:00 · 126 阅读 · 0 评论 -
leetcode 罗马数字转整数 python3
1.思路:首先将整数和罗马数字的对应关系写在map中,对罗马字符串进行分析: *罗马字母对应的整数前一位要大于后一位字母对应的整数:则加上这个字母对应的数字 *罗马字母对应的整数前一位要小于后一位字母对应的整数:则减去当前字母对应的数字 *若是最后一位则直接相加2...原创 2018-10-31 09:05:33 · 287 阅读 · 0 评论 -
leetcode 搜索插入位置 python3
1.思路:先判断是否在数组中,若在,则查找相等的;若不在则找到大于target值得位置则返回,否则返回数组的长度值2.代码:class Solution: def searchInsert(self, nums, target): """ :type nums: List[int] :type target: int ...原创 2018-11-08 21:55:54 · 115 阅读 · 0 评论