leetcode
代码拖拉鸡
无简述
展开
-
剑指 Offer 30. 包含min函数的栈
题目思路设计两个栈stack和minstack,stack用来记录数据,minstack用来放当前最小的值。遇到新元素的时候,stack进栈,如果minstack为空或这个新元素小于等于minstack中的栈顶元素时minstack进栈。出栈时stack出栈,若stack的出栈元素同时也是minstack的栈顶元素时,minstack栈顶元素出栈。class MinStack: def __init__(self): """ initialize your原创 2020-12-18 10:12:21 · 100 阅读 · 0 评论 -
【leetcode】剑指offer27.二叉树的镜像
题目方法一:递归class Solution(object): def mirrorTree(self, root): """ :type root: TreeNode :rtype: TreeNode """ if not root: return tmp = self.mirrorTree(root.left) root.left = self.mirro原创 2020-12-15 11:15:53 · 154 阅读 · 0 评论 -
【leetcode】面试题01.06字符串压缩
题目字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。暴力解法遍历字符串,计数挨在一起的相同字符的个数,加入需要返回的字符串class Solution(object): def compressString(self, S): """ :type S: str原创 2020-12-14 10:41:23 · 362 阅读 · 0 评论 -
【leetcode】1370. 上升下降字符串
【题目】给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。重复步骤 2 ,直到你没法从 s 中选择字符。从 s 中选出 最大 的字符,将它 接在 结果字符串的后面。从 s 剩余字符中选出 最大 的字符,且该字符比上一个添加的字符小,将它 接在 结果字符串后面。重复步骤 5 ,直到你没法从 s 中选择字符。重复步骤 1 到 6 ,直到原创 2020-12-14 09:23:23 · 151 阅读 · 0 评论 -
【leetcode刷题】数组部分记录(更新中)
简单1.面试题53 - II. 0~n-1中缺失的数字解题思路1:0到n-1范围内有n个数组,创建一个升序的从0到n的新数组,遍历原数组,如果某一个位置上的数和原数组不同,那么返回新数组中的那个数。当遍历完原数组后都没有出现不同的数值,那么就返回新数组的最后一个。class Solution: def missingNumber(self, nums: List[int]) -> int: list1 = [i for i in range(len(nums)+1)原创 2020-06-03 15:38:52 · 166 阅读 · 1 评论 -
链表常见算法题总结
链表合并两个有序链表合并两个有序链表class Solution(object): def mergeTwoLists(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ l3 =...原创 2019-09-29 15:00:38 · 317 阅读 · 2 评论