力扣刷题笔记之简单题(python代码实现)

函数在运行时调用自己,这个函数就叫递归函数,调用的过程叫做递归。

class ListNode:

    def __init__(self, val=0, next=None):

        self.val = val

        self.next = next

class Solution:

    def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:

        #判断特殊情况

        if not list1:

            return list2

        elif not list2:

            return list1

        elif list1.val <= list2.val:

            list1.next = self.mergeTwoLists(list1.next,list2)

            return list1

        else:

            list2.next = self.mergeTwoLists(list1,list2.next)

            return list2

 递归两个条件:

(1)何时终止:当list1和list2有一个是空就要跳出

(2)每一层的操作:比较list1和list2的头节点,谁小就将它的链接指向剩余的合并结果。最后返回该链接。

 

class Solution:

    def lengthOfLastWord(self, s: str) -> int:

        que = []

        i = len(s) - 1

        while i >= 0:

            if s[i] != ' ':

                que.append(s[i])

                i -= 1

            else:

                if len(que) > 0:

                    return len(que)

                else:

                    i -= 1

        return len(que)

class Solution:

    def plusOne(self, digits: List[int]) -> List[int]:

        number = 0

        for i in range(len(digits)): #转化成数字

            number = number + digits[i] * pow(10 , (len(digits)-1 - i))

        number = number + 1

        output = []

        while number > 0:

            output.insert(0, number % 10)#倒叙插入

            number = number // 10 #降位

        return output

 

class Solution:

    def addBinary(self, a: str, b: str) -> str:

        a = int(a,2)#base默认是10,不传base可以穿整数,小数,字符串等。如果是带参数base的话,a要以字符串的形式进行输入,然后base是该字符串的进制

        b = int(b,2)

        return bin(a+b)[2:] #bin()返回的是字符串,并且以'0b'打头

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值