leetcode算法4.08 (python解法)

题目1

在这里插入图片描述

题解1

class Solution:
    def singleNumber(self, nums: List[int]) -> List[int]:
        """
            先定义一个数组,随后遍历nums数组,如果该新数组不含该元素,append该元素, 如果该
        元素已存在,证明该元素出现了两次,remove该元素
        """
        emergeOne = []
        for num in nums:
            if num not in emergeOne:
                emergeOne.append(num)
            else:
                emergeOne.remove(num)
        return emergeOne

题目链接

题目2

在这里插入图片描述

题解2

class Solution:
    def createTargetArray(self, nums: List[int], index: List[int]) -> List[int]:
        target = []
        for i in range(len(nums)):
            target.insert(index[i],nums[i])
        return target

题目链接

题目3

在这里插入图片描述

题解3

class Solution:
    def removePalindromeSub(self, s: str) -> int:
        """
            因为题干给出只有字母'a'和'b'组成的字符串,所以该字符串只有三种情况
                1. 字符串为空字符
                2. 字符串为一个回文子序列
                3. 字符串为两个回文子序列拼凑成
        """
        if s == "": 
            return 0
        elif s[:] == s[::-1]:
            return 1
        else:
            return 2

题目链接

发布了58 篇原创文章 · 获赞 26 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43388615/article/details/105393629