一、前记(1/3)
最近感觉特别地懈怠,大概丧了有两三天,书没有认真的读,题也没有认真的写。好在今天有及时的调整心态认真写题,要不然得继续丧下去。
二、题目描述

u1s1,这个题目还是比较地好玩,这道题和上一道题也是有相似的地方。除了不能使用set()函数之外,其他地方我觉得思路都差不多,尤其是使用链表的这种方法。
三、解题思路
(1)我的思路
就是在nums里面,从左到右以此查找符合val的值,如果符合val的值,那么就删除。
#encoding:utf-8
class Solution(object):
def removeElement(self, nums, val: int) -> int:
i=0
while i<len(nums):
if nums[i]==val:
nums.remove(nums[i])
else:
i=i+1
print(nums)
return len(nums)
#as a checking
solution=Solution()
a=[3,2,2,3]
val=3
print(solution.removeElement(a,val))
(2)别人的思路
u1s1,有关于链表的思路都是大同小异。但是我在网上看到了一个非常有意思的解法:他没有使用链表的思路,而是直接取巧,借用remove函数,外加上一个python3异常处理的try/except进行了一个组合。直接短小精悍。
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
try:
while True:
nums.remove(val)
except:
return len(nums)
四、学到了什么?
(1)利用remove可以删除掉列表里面指定的值:remove(obj)
(2)异常处理的格式:
