- 博客(13)
- 收藏
- 关注
原创 21. Merge Two Sorted Lists
https://leetcode.com/problems/merge-two-sorted-lists/description/ 题意:将两个有序链表合并 思路:用两个指针p1,p2分别指向两个链表l1,l2,创建一个辅助头结点head表示新链。每次比较p1、p2的val,较小的加入到新链,然后指针前移,直到l1、p2有一个为空。此时将剩下的链全部加入到新链# Definition fo...
2018-05-31 23:11:18 137
原创 20. Valid Parentheses
https://leetcode.com/problems/valid-parentheses/description/ 题意:括号匹配 思路:用栈,一次扫描输入串,将所有左括号入栈,遇到右括号就弹出栈顶比对,借助两个字典left和right判断是否成对,成对则继续,不成对直接返回False。注意栈不能为空,否则pop会报错。遇到右括号且栈为空,说明右括号没有匹配,返回False。循环结束再判...
2018-05-31 21:06:33 106
原创 19. Remove Nth Node From End of List
https://leetcode.com/problems/remove-nth-node-from-end-of-list/description/ 题意:删去一个链表的倒数第n个结点。思路:设两个指针i和j,i比j往前走n步,然后i和j每次向前走1步,这样当i走到尽头时,j恰好指向倒数第n个结点。然而题目中要的是删去,所以应该找倒数第n个的前驱,即倒数第n+1。找到后用链表操作跨过倒数第...
2018-05-31 19:18:27 312
原创 18. 4Sum
https://leetcode.com/problems/4sum/description/ 题目大意:给一个数组,求四个数的和等于target的所有组合(不重复) 解题思路:和15. 3Sum 差不多,3sum用了三个游标i,front,back。这里用四个:i,j,front,back。j从i+1开始到末尾,其他的同3sum的做法,用front和back夹逼即可 代码注意在i的whi...
2018-05-30 22:14:39 91
原创 17. Letter Combinations of a Phone Number
https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/ 题目大意:给一串数,每个数字对应手机键盘上的几个字母,求数字对应字母的笛卡尔积。解题思路:用迭代法。如“23”,2对应“abc”,3对应“def”,对每个数字进行遍历。初始结果集为空(用一个空串""表示), 第一轮,i=0,候选集...
2018-05-30 20:01:28 215
原创 16. 3Sum Closest
https://leetcode.com/problems/3sum-closest/description/ 题目大意:给一个数组和一个target,求数组中三个数最接近target的和。 解题思路:和上一题15. 3Sum 差不多,用三个游标i, front, back分别遍历,用minDist = sum - target记录与target最接近的和。最后若跳出循环,说明没有找到恰好等于...
2018-05-30 17:10:28 94
原创 15. 3Sum
https://leetcode.com/problems/3sum/description/ 题目大意:给一个数组,找和为0的三个数,要求不能重复 解题思路:常规思路是用三个游标i,j,k遍历整个数组,找出所有的三三组合,看是否满足。然而这样会有重复。 改进:先排序,对每个找到的组合(i,j,k)各自往后搜寻,跳过相同的元素即可 有点借鉴two sum的做法,反向求之。i遍历整个数组,先...
2018-05-29 23:51:17 77
原创 14. Longest Common Prefix
https://leetcode.com/problems/longest-common-prefix/description/ 题目大意:给一系列字符串strs,找最长的共同前缀 解题思路1:水平搜索。先找strs[0]和strs[1]的共同前缀(注意前缀必须是从头开始的连续子串),以strs[0]为基准prefix,在strs[1]中找是否存在prefix前缀,若不存在,prefix尾部截...
2018-05-29 01:09:36 1244
原创 13. Roman to Integer
https://leetcode.com/problems/roman-to-integer/description/ 题目大意:罗马数字转整数 解题思路1:暴力,一次遍历字符串,根据所有规则一步步判断class Solution: def romanToInt(self, s): """ :type s: str :rtype:...
2018-05-28 19:47:44 77
原创 12. Integer to Roman
https://leetcode.com/problems/integer-to-roman/description/ 题目大意:给一个数,将其转换为罗马数字 解题思路:罗马数字特点是“左减右加” (https://zhidao.baidu.com/question/13702383) 先将num的个十百千位取出来,然后从高到低逐位判断并输出即可。 代码:class Solution...
2018-05-28 13:26:41 85
原创 11. Container With Most Water
https://leetcode.com/problems/container-with-most-water/description/题目大意:给一串数字(a1, a2, …, an),下标为横坐标,值为纵坐标,求任意两个下标的值与x轴围城的容器所能装水的最大容积 如,数组L=(1,3,2,1) 下标2,3围城的容积=2*(3-2)=2 下标1,4围城的容积=1*(4-1)=3 ...
2018-05-25 20:53:08 94
原创 10. Regular Expression Matching
https://leetcode.com/problems/regular-expression-matching/description/题目大意:给一个字符串s和模式串p,求s是否匹配p 这里要注意的是“*”表示前面的字符可以重复0到无数次,并不是传统意义上的通配符。 解题思路1(递归):把x*(x为任意字符),当做一个整体,这是最难处理的部分,因为x可以重复0到无数次。 我们先来判...
2018-05-14 23:53:08 85
原创 Python3初学问题总结
1.注意浮点除法'/'和整数除法'//' 的区别 2.注意整数除法与c语言的区别,c语言是向0取整,python是向下取整: 先用浮点除法python计算5➗3的精确值:>>&
2018-05-07 12:35:34 594
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人