zoukankan      html  css  js  c++  java
  • 445. Add Two Numbers II ——while s1 or s2 or carry 题目再简单也要些测试用例

    You are given two linked lists representing two non-negative numbers. The most significant digit comes first and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

    You may assume the two numbers do not contain any leading zero, except the number 0 itself.

    Follow up:
    What if you cannot modify the input lists? In other words, reversing the lists is not allowed.

    Example:

    Input: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)
    Output: 7 -> 8 -> 0 -> 7
    
    # Definition for singly-linked list.
    # class ListNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution(object):
        def addTwoNumbers(self, l1, l2):
            """
            :type l1: ListNode
            :type l2: ListNode
            :rtype: ListNode
    Input: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)
    Output: 7 -> 8 -> 0 -> 7
    
    7->2->4->3
       5->6->4
    =-------------
    7->7->0->7
     ->1       
            """
            s1,s2 = [],[]
            p1,p2 = l1,l2
            while p1:
                s1.append(p1.val)
                p1 = p1.next
            while p2:
                s2.append(p2.val)
                p2 = p2.next
            carry = 0
            fake_head = ListNode(None)
            while s1 or s2 or carry:
                v1 = s1.pop() if s1 else 0
                v2 = s2.pop() if s2 else 0
                val = v1 + v2 + carry
                if val >= 10:
                    val -= 10
                    carry = 1
                else:
                    carry = 0
                head = ListNode(val)
                head.next = fake_head.next
                fake_head.next = head
            return fake_head.next                
  • 相关阅读:
    LeetCode. 476. Number Complement
    LeetCode 172.Factorial Trailing Zeroes
    原码,反码,补码笔记
    python3笔记
    django笔记(python web框架)
    mysql 8.0 主从复制配置
    centos 7系统安装mysql 8.0
    MobaXterm无法退格删除
    Oracle数据泵常用命令
    oracle查年度周末日期
  • 原文地址:https://www.cnblogs.com/bonelee/p/6209472.html
Copyright © 2011-2022 走看看