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                
  • 相关阅读:
    android 推断应用程序是系统程序还是用户程序
    zoj-3792-Romantic Value-最小割+数值转化
    python中and和or的使用方法
    WP8加入自己定义铃声
    OpenCV-Python教程(4、形态学处理)
    [置顶] Bug 11775332
    Pyhon安装media模块
    hadoop集群环境搭建
    ubuntu12 环境下编译freerdp
    二分查找(非递归JAVA)
  • 原文地址:https://www.cnblogs.com/bonelee/p/6209472.html
Copyright © 2011-2022 走看看