摘要:
代码随想录 150. 逆波兰表达式求值 - 力扣(LeetCode) 知识点1:递归就是用栈来实现的。 知识点2:逆波兰表达式是用后序遍历的方式把二叉树序列化了。 知识点3:将字符串形式的数字转换为实际的数字(整数或浮点数)在Python中是非常直接的操作,可以使用内置函数int()和float() 阅读全文
摘要:
1047. 删除字符串中的所有相邻重复项 - 力扣(LeetCode) 代码随想录 这题做的没有乐趣 1.使用栈 class Solution: def removeDuplicates(self, s: str) -> str: stack = [] for char in s: if stack 阅读全文
摘要:
代码随想录 20. 有效的括号 - 力扣(LeetCode) My method:用两个栈解决 class Solution: def isValid(self, s: str) -> bool: stack = [] for char in s: stack.append(char) n = le 阅读全文
摘要:
自己写的: 类似用两个栈实现队列的那道题,只要简单的转换一下思路,在脑子里模拟一下用两个队列配合表现出一个栈的功能。 from collections import deque class MyStack: def __init__(self): # 两个队列,相当于两个篮子 self.deque1 阅读全文
摘要:
232. 用栈实现队列 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 思想:用下面的两个栈模拟队列 from collections import deque class MyQueue: def __init__(self): # in主要负责push,out 阅读全文
摘要:
终于走完双指针这一节了 方法一:双指针 具体为两个for循环(对应第一和第二个数)加left和right指针(找第三和第四个数) class Solution: def fourSum(self, nums: List[int], target: int) -> List[List[int]]: r 阅读全文
摘要:
15. 三数之和 - 力扣(LeetCode) 代码随想录 1.双指针 我认为实际上应该是三指针。具体来说,以一个i遍历列表,作为第一个数,另外两个左右指针确定第二和第三个数字,逐渐朝中间方向移动,找到所有满足条件的三个数。 from collections import defaultdict c 阅读全文
摘要:
142. 环形链表 II - 力扣(LeetCode) 代码随想录 1.快慢指针法(来自代码随想录) 需要找规律,和数学式子的简单推理 # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # 阅读全文
摘要:
性能如何评价的问题 【√】 1.模拟数据的生成? 思考模拟数据的问题。 2.是否可以把这些方法应用到你的问题上面? 是否可以呢?应该可以吧。 阅读全文
摘要:
面试题 02.07. 链表相交 - 力扣(LeetCode) 代码随想录 1. 解法1 # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next 阅读全文