leetcodes
lirining
这个作者很懒,什么都没留下…
展开
-
leetcode 46 全排列 (python)
方法一(44ms): 参照剑指offer(38)中的方法,把第一个数值依次和后面的交换,并把第一个数值固定,后面的数字进行递归。 改进点:其中是从第一位和第一位开始的,所以当i==left的时候,需要做交换操作,可以节约一些时间class Solution(object): def permute(self, nums): if nums==[]: return [...原创 2018-08-27 11:49:50 · 3161 阅读 · 0 评论 -
leetcode 116 填充同一层的兄弟节点 (python)
方法一:借鉴层次遍历的思想,单独获得每一层节点的list然后对每一个list的next进行赋值。 空间复杂度O(k),k表示最后一层的叶节点数量,时间复杂度O(n)class Solution: def connect(self, root): if root!=None: temp_list=[root] new_li...原创 2018-08-28 14:44:54 · 576 阅读 · 0 评论 -
Leetcode 73 矩阵置零(python)
方法一:使用两个list分别记录行列上需要置零的行列的index,最差情况的空间复杂度为O(m+n)class Solution: def setZeroes(self,matrix): rows=len(matrix) cols=len(matrix[0]) row_index=[] col_index=[] ...原创 2018-08-24 10:14:13 · 1303 阅读 · 1 评论 -
Leetcode 49 字母异位词分组(python)
方法一:使用哈希表,键值为排序后的字母异位词(字母异位词排序后是一样的)class Solution: def groupAnagrams(self,strs): temp_dict={} for temp_str in strs: sort_str=self.sort(temp_str) if sor...原创 2018-08-24 10:48:25 · 432 阅读 · 0 评论 -
Leetcode 49 字母异位词分组(python)
方法一:使用哈希表,键值为排序后的字母异位词(字母异位词排序后是一样的)class Solution: def groupAnagrams(self,strs): temp_dict={} for temp_str in strs: sort_str=self.sort(temp_str) if sor...原创 2018-08-24 10:51:55 · 788 阅读 · 0 评论 -
Leetcode 3 无重复字符的最长子串(python)
方法一:利用两个变量存储现在找到的不重复的字符串的头和尾位置,然后与后面的一个字符比较。如果后面一个字符不在里面,尾的位置加一;如果后面一个字符在里面,则更新头的位置为后一个字符的前面相同字符的位置的后面的一个,尾位置加一。在循环过程中,存储一个最大长度变量。class Solution: def lengthOfLongestSubstring(self,s): ...原创 2018-08-24 11:53:37 · 132 阅读 · 0 评论 -
leetcode 230 二叉搜索树中第K小的元素 (python)
问题本质:对二叉树进行中序遍历,遍历一个节点就进行计数,计数达到k的时候就结束。方法一(递归):class Solution(object): def kthSmallest(self, root, k): self.count=k self.res=0 def core(root): if root :...原创 2018-08-29 16:23:10 · 1421 阅读 · 0 评论 -
Leetcode 32 Longest Valid Parentheses (python)
主要参考资料: LeetCode-32.最长有效括号(考察点:栈/动态规划) https://blog.csdn.net/weixin_38823568/article/details/80997966 leetcode本身的solution https://leetcode.com/problems/longest-valid-parentheses/solution/#方法...翻译 2018-09-06 20:29:49 · 320 阅读 · 0 评论