剑指offer
上进的菜鸟
这个作者很懒,什么都没留下…
展开
-
数组 | 二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数思路:从某一个角开始查找,然后指针向两个方向移动。如果从左上角开始,由于current<target时,向右向下都更大,会有歧义(从右下角开始同理),如果从左下角开始,当current<target时,说明...原创 2019-03-31 14:40:14 · 237 阅读 · 0 评论 -
leetcode104
原创 2019-05-21 17:09:20 · 312 阅读 · 0 评论 -
leetcode 14
解题思路:min和max在Python里字符串是可以比较的,按照ascII值排,举例abb, aba,abac,最大为abb,最小为aba。所以只需要比较最大最小的公共前缀就是整个数组的公共前缀min(["flower","flow","flight"]) #flightmax(["flower","flow","flight"]) #'flower'for i,x in ...原创 2019-05-13 08:12:53 · 89 阅读 · 0 评论 -
leetcode 20
思想:替换的思想class Solution: def isValid(self, s): while '{}' in s or '()' in s or '[]' in s: s = s.replace('{}','') s = s.replace('[]','') s = s.replac...原创 2019-05-13 18:41:34 · 111 阅读 · 0 评论 -
leetcode 26
class Solution: def removeDuplicates(self, nums: List[int]) -> int: if not nums: return None j = 0 for i in range(len(nums)): if i > 0 and ...原创 2019-05-14 20:07:10 · 89 阅读 · 0 评论 -
leetcode141
原创 2019-05-27 08:12:34 · 141 阅读 · 0 评论 -
leetcode237
原创 2019-05-27 08:27:38 · 197 阅读 · 0 评论 -
leetcode155
原创 2019-05-31 09:13:05 · 239 阅读 · 0 评论 -
leetcode217
原创 2019-05-31 09:15:59 · 208 阅读 · 0 评论 -
leetcode136dierzhong
注意^代表抑或,就是真的时候返回0,假的时候返回1 .1^1=0,1^0=1原创 2019-05-31 09:45:16 · 128 阅读 · 0 评论 -
leetcode15
并没有很看懂 以后希望能看懂原创 2019-05-28 21:38:43 · 314 阅读 · 0 评论 -
2两数相加
原创 2019-06-07 08:53:53 · 303 阅读 · 0 评论 -
leetcode5
原创 2019-06-07 09:09:53 · 91 阅读 · 0 评论 -
leetcode283
原创 2019-06-02 21:39:18 · 101 阅读 · 0 评论 -
leetcode1
class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ d = {} for i,it...原创 2019-06-03 21:34:13 · 133 阅读 · 0 评论 -
leetcode198
原创 2019-06-05 08:46:51 · 136 阅读 · 0 评论 -
leetcode爬楼梯
原创 2019-05-21 16:05:21 · 211 阅读 · 0 评论 -
leetcode292
原创 2019-05-24 21:17:48 · 269 阅读 · 0 评论 -
leetcode169
原创 2019-05-24 21:16:35 · 234 阅读 · 0 评论 -
字符串|替换空格,
要求请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happyclass Solution: # s 源字符串 def replaceSpace(self, s): # write code here return s.replace(' ', '%...原创 2019-03-31 15:20:20 · 247 阅读 · 0 评论 -
链表中倒数第k个节点
问题输入一个链表,输出该链表中倒数第k个结点。思路1)先扫一遍链表,获得总个数n,然后从头走n-k+1次,就得到倒数第k个了。缺点是要扫两遍2)两个指针从开头出发,第二个指针先往后走k-1步,然后两个指针同时往后走,当第二个到达末尾时,第一个指向的就是倒数第k个需要注意head为空、k小于或等于0时,k大于链表长度时的特殊情况需留心不要写错边界条件class Solut...原创 2019-04-04 19:26:14 · 156 阅读 · 0 评论 -
反转链表
反转链表问题输入一个链表,反转链表后,输出链表的所有元素(函数返回头节点即可)。分析如下面所示,有三个指针,此时,让2的next指向1进行反转,然后指针2移动到3的位置,指针1移动到2的位置,指针3后移,继续进行反转,直到指针3指向为空时再进行最后一次反转。更简单来说只要两个指针,交换之前,先临时开辟第3个指针指向2的下一个,然后2的next指向1,2指向3,1指向2,完成一次...原创 2019-04-05 21:42:08 · 110 阅读 · 0 评论 -
重建二叉树|用两个栈模拟队列|旋转数组的最小数字
题目一:二叉树要求:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:前序序列能确定根节点,用根节点,把中序划分为左右子树基于递归的思路,重复上述步骤class TreeNod: ...原创 2019-04-01 09:41:32 · 186 阅读 · 0 评论 -
合并两个排序的列表
合并两个排序的链表问题输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路两个指针指向两个链表,比较当前两个数,把较小的连到结果链上,指针后移,直到其中某个链表走完,把另一链表余下部分连到结果链末尾即可。需要注意处理特殊输入(空)的情况。# class ListNode:# def __init__(self, x):...原创 2019-04-06 11:01:41 · 531 阅读 · 0 评论 -
递归
问题:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39斐波那契数列的定义: F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)思路1:递归思路2:改进:可以从下往上计算,从0,1一直叠加到n,就像人工做计算那样,从而避免重复class Solution: def F(se...原创 2019-04-03 11:15:17 · 124 阅读 · 0 评论 -
leetcode121
原创 2019-05-19 08:10:56 · 374 阅读 · 0 评论 -
leetcode53
原创 2019-05-15 19:08:09 · 84 阅读 · 0 评论 -
leetcode122
原创 2019-05-20 08:37:38 · 293 阅读 · 0 评论 -
leetcode344
原创 2019-05-20 19:02:50 · 326 阅读 · 0 评论 -
leetcode557
原创 2019-05-21 15:13:39 · 248 阅读 · 0 评论 -
leetcode简单题7 整数反转
20190602更新class Solution: def reverse(self, x): if x==0: return 0 str_x = str(x) x = '' if str_x[0] == '-': x += '-' x += str_...原创 2019-05-10 20:20:36 · 214 阅读 · 0 评论 -
leetcode 9回文数
class Solution: def isPalindrome(self, x: int): if x<0: return False else: y = str(x)[::-1] if y == str(x): return True ...原创 2019-05-12 08:13:01 · 106 阅读 · 0 评论 -
leetcode88
''' 1. letter.append(new) 添加到最后一位,只能一个元素2. letter.extend([new1,new2])) 添加到最后一位,能多个元素3. letter.insert(index,new) 添加到固定位置,只能一个元素letters.extend([‘f’,’g’]) >>[‘a’,’b’,’c’...原创 2019-05-16 08:49:54 · 269 阅读 · 0 评论 -
leetcode136
原创 2019-05-17 10:24:42 · 160 阅读 · 0 评论 -
leetcode448
原创 2019-06-05 08:52:57 · 449 阅读 · 0 评论