
双指针
卑微小杨
这个作者很懒,什么都没留下…
展开
-
leetcode344
双指针class Solution: def reverseString(self, s: List[str]) -> None: l,r=0,len(s)-1 while l<r: s[l],s[r]=s[r],s[l] l+=1 r-=1 return s原创 2021-06-14 21:22:31 · 80 阅读 · 0 评论 -
leetcode15
双指针class Solution: def reverseString(self, s: List[str]) -> None: l,r=0,len(s)-1 while l<r: s[l],s[r]=s[r],s[l] l+=1 r-=1 return s2021-06-14 20:24:32 · 84 阅读 · 0 评论 -
leetcode142
if len(s) != len(t): # 如果长度不同,直接就不是 return False cnt_t = Counter(t) # 把每个元素都记下来,同时也会记下来每个元素的次数。 cnt_s = Counter(s) for key, cnt in cnt_s.items(): # key代表元素,cnt代表次数。 if cnt != cnt_t[key]: # 如果在s中出...2021-06-14 14:00:27 · 57 阅读 · 0 评论 -
leetcode19
class Solution: def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode: dummy=ListNode(0) dummy.next=head cur=dummy stack=[] while cur: stack.append(cur) cur=cur.next f.原创 2021-06-14 12:52:00 · 62 阅读 · 0 评论 -
leetcode844
class Solution: def backspaceCompare(self, s: str, t: str) -> bool: i = len(s) - 1 j = len(t) - 1 skips, skipt = 0, 0 while i >= 0 or j >= 0: # 只要s,t有一个没处理完,就继续进行处理。 while i >= 0: .原创 2021-06-13 17:44:01 · 146 阅读 · 0 评论 -
leetcode283
class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify nums in-place instead. """ slow=0 if not nums: return [] for i in range(len(nums)): .原创 2021-06-13 16:00:58 · 55 阅读 · 0 评论 -
leetcode26
class Solution: def removeDuplicates(self, nums: List[int]) -> int: slow=0 fast=0 if len(nums)<=1: return len(nums) while fast <= len(nums) - 2: if nums[fast] != nums[fast + 1]: .原创 2021-06-13 15:24:53 · 65 阅读 · 0 评论 -
leetcode977
平方后的列表较大的值,一定是从原数组中的两头选的,因为两头的绝对值更大。所以双指针分别从数组左右开始,把平方后更大的放入res的后面。直到不满足left<=right原创 2021-06-12 16:02:57 · 124 阅读 · 0 评论