02、两数之和(medium)——2021-04-12

简介: 02、两数之和(medium)——2021-04-12
第一题:两数相加(Medium)

环境:python3,力扣官网

题目:

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

题解:

解法一:

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
        if l1 == None:
            return l2
        if l2 == None:
            return l1
        
        dumy = ListNode(0)
        cur =dumy
        carry = 0
        while l1 and l2:
            cur.next = ListNode((l1.val+l2.val+carry)%10)
            carry = (l1.val+l2.val +carry)//10
            l1 = l1.next
            l2 =l2.next
            cur =cur.next
        if l2:
            while l2:
                cur.next = ListNode((l2.val+carry)%10)
                carry = (l2.val +carry)//10
                l2 =l2.next
                cur =cur.next
        if l1:
            while l1:
                cur.next=ListNode((l1.val+carry)%10)
                carry =(l1.val+carry)//10
                l1=l1.next
                cur=cur.next
        if carry==1:
            cur.next =ListNode(1)
        return dumy.next
相关文章
|
算法
第K小数 uva 10041 - Vito's Family poj 2388 Who's in the Middle
了解快排的人对int (int l, int r) 这个函数很熟悉,因为这是在快排中用到的,它的作用是对数组的某一段选一个分界点,使得该点左边的数都不大于该点的数,右边的点不小于该点的数,也就是说我们通过一次调用这个函数确定一个数的位置,快排是将该点两边分别进行递归操作,时间复杂度为O(nlogn),而select只是对一边进行递归操作(有点像二分的递归形式),所以时间复杂度仅为O(n)。
42 0
|
算法
Light oj 1082 - Array Queries(区间最小值)
这里只要知道这种算法即可,因为数据量过大,都编译不通过,不过思想算法没有任何问题。
31 0
|
人工智能 算法
A. Average Height(找相邻的数除2产生整数更多的排列)(codeforces715)
A. Average Height(找相邻的数除2产生整数更多的排列)(codeforces715)
29 0
|
Python
【欧拉计划第 13 题】 大数之和 Large sum
【欧拉计划第 13 题】 大数之和 Large sum
143 0
【欧拉计划第 13 题】 大数之和 Large sum
【欧拉计划第 5 题】最小公倍数 Smallest multiple
【欧拉计划第 5 题】最小公倍数 Smallest multiple
161 0
【欧拉计划第 5 题】最小公倍数 Smallest multiple
|
索引
Leetcode-Medium 6. ZigZag Conversion
Leetcode-Medium 6. ZigZag Conversion
94 0
Leetcode-Medium 6. ZigZag Conversion
Leetcode-Medium 46. Permutations
Leetcode-Medium 46. Permutations
101 0
|
Java
HDOJ 1018 Big Number(大数位数公式)
HDOJ 1018 Big Number(大数位数公式)
114 0