给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。
不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
输入:nums = [1,1,2] 输出:2, nums = [1,2]
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
i = 0
while i < len(nums):
temp = nums[i]
j = i + 1
while j < len(nums):
if nums[j] == temp:
nums.remove(temp)
else:
j = j + 1
i = i + 1
return len(nums)
844、
给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,请你判断二者是否相等。# 代表退格字符。
如果相等,返回 true ;否则,返回 false 。
注意:如果对空文本输入退格字符,文本继续为空。
输入:s = "ab#c", t = "ad#c" 输出:true 解释:S 和 T 都会变成 “ac”
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/backspace-string-compare
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution:
def backspaceCompare(self, s: str, t: str) -> bool:
s=Solution.pd(s)
print(s)
t=Solution.pd(t)
print(t)
if s==t:
return True
else:
return False
def pd(s) -> int:
i = 0
while i < len(s) - 1:
j = i + 1
if s[j] == '#':
s = s[0:j] + s[j + 1:len(s)]
s = s[0:i] + s[i + 1:len(s)]
i = 0
else:
i = i + 1
i = 0
while i < len(s) :
if s[i] == '#':
s = s.replace(s[i], '', 1)
else:
i=i+1
return s