zoukankan      html  css  js  c++  java
  • 27. 移除元素

     

    代码一:

     1 class Solution(object):
     2     def removeElement(self, nums, val):
     3         """
     4         :type nums: List[int]
     5         :type val: int
     6         :rtype: int
     7         """
     8         if nums == []:
     9             return 0
    10         i, j = 0, len(nums) - 1
    11 
    12         while i < j:
    13             if nums[i] != val:
    14                 i += 1
    15             elif nums[j] == val:
    16                 j -= 1
    17             elif nums[i] == val:
    18                 nums[i], nums[j] = nums[j], nums[i]
    19                 i += 1
    20                 j -= 1
    21         # print(nums, i, j)
    22         if nums[i] == val:
    23             return len(nums[:i])
    24         else:
    25             return len(nums[:i])+1

    代码二:

     1 class Solution(object):
     2     def removeElement(self, nums, val):
     3         """
     4         :type nums: List[int]
     5         :type val: int
     6         :rtype: int
     7         """
     8         if len(nums) == 0:
     9             return 0
    10         # 双指针
    11         i, j = 0, len(nums) - 1
    12         while i < j:
    13             # j指向的等于val,j前移
    14             if nums[j] == val:
    15                 j -= 1
    16                 continue
    17             # 如果i指向的等于val,交换i和j的值,j前移
    18             if nums[i] == val:
    19                 nums[i], nums[j] = nums[j], nums[i]
    20                 j -= 1
    21             # i每一趟都后移
    22             i += 1
    23         # print(nums, i, j)
    24         if nums[i] == val:
    25             return len(nums[:i])
    26         else:
    27             return len(nums[:i]) + 1
  • 相关阅读:
    一、linux 挂起进程 nohup
    1.C#窗体和控件
    C#笔记——5.迭代器
    C#笔记——4.集合
    设计模式——3.观察者模式
    设计模式——2.策略模式
    Code基础——1.数据结构
    设计模式——1.模板方法
    C#笔记——3.泛型
    C#笔记——2.委托
  • 原文地址:https://www.cnblogs.com/panweiwei/p/12748704.html
Copyright © 2011-2022 走看看