题目:
思路:
这道题非常简单,其实就是判断来得数据能否在列表找到,找到则返回下标,找不到则返回其应该插入的位置,使得插入数据后仍是一个有序列表,所以只要判断列表中的当前数据和目标值的大小即可,当列表的元素小于目标target时,则继续判断列表下一个元素,直到等于(即找到)或是大于(即找不到)则直接返回此时的下标,代表找到了相等的元素或者是要插入的位置。
一个要注意的就是可能整个列表遍历完了都发现没有找到元素,也就是代表要把数据插入到最后一个,所以直接在while循环后加一个return index,这个index就是要插入的位置,因为index刚好加了1而跳出了循环,所以就是我们要插入的位置。
代码:
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
index=0
while index<len(nums):
if nums[index] < target:
index+=1
continue
else:
return index
return index
结果:
关于LeetCode的解题方法欢迎大家一起讨论~