12 2015 档案
摘要:设s是字符串:s.isalnum() 判断所有字符都是数字或者字母s.isalpha() 判断所有字符都是字母s.isdigit() 判断所有字符都是数字s.islower() 判断所有字符都是小写s.isupper() 判断所有字符都是大写s.istitle() 判断所有单词都是首字...
阅读全文
摘要:题目来源: https://leetcode.com/problems/binary-tree-inorder-traversal/题意分析: 中序遍历一个棵树。题目思路: 思路很简单,先遍历左子树,再遍历根节点,最后遍历右子树。代码(Python): class Solution(obje...
阅读全文
摘要:题目来源: https://leetcode.com/problems/restore-ip-addresses/题意分析: 输入一个字符串,判断有多少种ip组合。比如,给定"25525511135",返回["255.255.11.135", "255.255.111.35"]题目思路: 要判...
阅读全文
摘要:题目来源: https://leetcode.com/problems/reverse-linked-list-ii/题意分析: 跟定一个链表,和位置m,n。将m到n的节点翻转。题目思路: 和前面全部翻转的类似。代码(Python): # Definition for singly-link...
阅读全文
摘要:题目来源: https://leetcode.com/problems/decode-ways/题意分析: A-Z解码为分别1-26。给定一个解码序列,输出所有可能的个数。比如序列“12”可以代表AB和L,2种可能。题目思路: 这是一个动态规划的问题。用一个数组ans记录序列的结果,其中ans...
阅读全文
摘要:题目来源: https://leetcode.com/problems/subsets-ii/题意分析: 给定一个存在重复元素的集合,然后他所有的可能子集。子集不能包括重复元素,元素必须安排字典序排序。题目思路: 这题和前面的找到所有子集类似。不同的是他存在重复元素,那么我们添加的时候用字典判...
阅读全文
摘要:题目来源: https://leetcode.com/problems/gray-code/题意分析: 给定一个n,返回他的一个格雷序列。比如n=2,[0,1,3,2]是他的一个格雷序列。格雷序列就是,长度为n的二进制,起始序列是全是0,而下一个序列和上一个序列只相差一个bit。也就是00,01...
阅读全文
摘要:题目来源: https://leetcode.com/problems/merge-sorted-array/题意分析: 给定两个排好序的数组nums1和nums2,将两个数组整合成一个新的排好序的数组,并将这个数组存在nums1里面。题目思路: 由于题目没有要求,所以用一个tmp临时变量将n...
阅读全文
摘要:题目来源: https://leetcode.com/problems/partition-list/题意分析: 给定一个链表和一个target,将比target小的所有节点放到左边,大于或者等于的的全部放到右边。比如1->4->3->2->5->2,如果target为3,那么返回1->2->2...
阅读全文
摘要:题目来源: https://leetcode.com/problems/remove-duplicates-from-sorted-list/题意分析: 给定一个排好序的链表,返回一个链表使得这个链表每个元素只出现一次。题目思路: 这题和上题思路类似也是考链表知识点,将重复的去掉。代码(Pyt...
阅读全文
摘要:题目来源: https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/题意分析: 给你定一个排好序的链表,将所有重复的节点去掉。比如:给出1->2->3->3->4->4->5, 返回1->2->5.题目思路: 这里...
阅读全文
摘要:题目来源: https://leetcode.com/problems/search-in-rotated-sorted-array-ii/题意分析: 根据题目"Search in Rotated Sorted Array",如果数字存在重复数字怎么处理。写一个函数,判断target是否在num...
阅读全文
摘要:题目来源: https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/题意分析: 跟定一个排好序的数组。修改这个数组使得每个数最多可以出现两次。返回去掉多余重复数组后的长度,当然将多余重复数放到数组后面并不影响。题目...
阅读全文
摘要:题目来源: https://leetcode.com/problems/word-search/ 题意分析: 给定一个子表板和一个一个词,返回这个词是否在子表版上。子表板之间只能水平和垂直相连,子表板中的字符只能访问一次。 题目思路: 这是一个典型的深度优先搜索。首先找到第一个字符,从这个字符开始进
阅读全文
摘要:题目来源: https://leetcode.com/problems/subsets/题意分析: 给定一个没有重复数字的数组,返回他所有的子集。子集不能重复,子集中的元素要按照字典序排序。题目思路: 这道题也是用递归的思想。长度为n的数组a的所有子集是数组a[:n-1]的所有子集并上其子集中...
阅读全文
摘要:题目来源: https://leetcode.com/problems/combinations/题意分析: 给定一个n和k,输出1到n的所有k个数的组合。比如n = 4,k=2[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]题目思路: 这道...
阅读全文
摘要:题目来源: https://leetcode.com/problems/minimum-window-substring/题意分析: 给定两个字符串S和T。在S中找到最短的一个子字符串使得他包括所有的T。比如:S="ADOBECODEBANC",T="ABC",那么返回"BANC"。要求时间复杂...
阅读全文
摘要:题目来源: https://leetcode.com/problems/sort-colors/题意分析: 给定n个颜色,红色,白色和蓝色。分别用0,1,2代替,将这些颜色排序,0在1前,1在2前。题目思路: 记录一下起始位置和末尾。遍历一下输入,如果是2就放到末尾,末尾-1,如果是0,那么放...
阅读全文
摘要:题目来源: https://leetcode.com/problems/search-a-2d-matrix/题意分析: 给一个m×n矩阵,矩阵是按照从小到大排列,也就是a[i][j]和a[m][n]如果i > m则a[i][j]>a[m][n],如果i == m,j > n,则a[i][j]>...
阅读全文
摘要:题目来源: https://leetcode.com/problems/set-matrix-zeroes/题意分析: 输入一个m×n矩阵,如果出现有0,那么将对应的行和列都变成0.题目思路: 简单的一个想法是记录行列哪些出现过0,那么将其对应到的行列转成0.代码(Python): 1 c...
阅读全文
摘要:题目来源: https://leetcode.com/problems/edit-distance/题意分析: word1最少通过多少步可以变成word2。word1只能进行一下的操作。a)插入一个字符,b)删除一个字符,c)替代一个字符。比如“aba”变成“abc”只需要通过替代最后一个字符就...
阅读全文
摘要:题目来源: https://leetcode.com/problems/simplify-path/题意分析: 简化Unix上的绝对路径,也就是多个'/'代表一个,'..'表示返回上一级目录,‘.'代表当前目录。题目思路: 利用栈,把非'/'和'.'push进栈,如果遇到'..'pop掉一个,...
阅读全文
摘要:题目来源: https://leetcode.com/problems/climbing-stairs/题意分析: 爬楼梯,一次可以爬一步或者两步。如果要爬n层,问一共有多少种爬法。比如说,如果是3层,可以有[[1,1,1],[1,2],[2,1]]共3种方法。题目思路: 这是一个典型的动态规...
阅读全文
摘要:题目来源: https://leetcode.com/problems/sqrtx/题意分析: 实现一个整型的开根。题目思路: 利用牛顿迭代法可以求解。首先讲数据类型转成浮点数,然后选取初始值为n/2,然后用牛顿迭代,直到迭代结果相差小于1.0,最后将浮点数转回整型。代码(Python): ...
阅读全文
摘要:题目来源: https://leetcode.com/problems/text-justification/题意分析: 输入一个字符串数组和一个规定长度L。将这个字符串数组的元素尽可能放到长度的L的字符串中,数组中的字符串不能拆开,一个长度L的字符串包括的若干个字符串之间用相等的空格间隔开。比...
阅读全文
摘要:题目来源: https://leetcode.com/problems/add-binary/题意分析: 这题是要将二进制相加,比如“11”,“1”,那么就返回“100”。题目思路: 模拟加法的过程,直接模拟,大于等于2就进位。代码(Python): 1 class Solution(ob...
阅读全文
摘要:题目来源: https://leetcode.com/problems/plus-one/题意分析: 给定一个数组,将数加一,返回新的数组。比如[9,9],返回[1,0,0]。题目思路: 这道题目很简单,尾数加1,然后如果进位就向前一个数字加1.代码(Python): 1 class So...
阅读全文
摘要:题目来源: https://leetcode.com/problems/valid-number/题意分析: 输入一个字符串,判断这个字符串表示的是不是一个有效的数字。比如: "0"=>true " 0.1 "=>true "abc"=>false "1 a"=>false "2e10...
阅读全文

浙公网安备 33010602011771号