20170308-leetcode-445-Add Two Numbers

来源:互联网 发布:金和网络做什么的 编辑:程序博客网 时间:2024/06/05 18:46

1.Description

You are given two non-empty linked lists representing two non-negative integers. 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
解读
输入为两个list,分别包含了两个数字的各个位上的数字,输出为两个数字的和,返回仍然以list的方式,期间不能使输入倒置

2.Solution

#@未来战士biubiu #Time:O(n),Space:O(n)#不太会算..class Solution(object):    def addTwoNumbers(self, l1, l2):        """        :type l1: ListNode        :type l2: ListNode        :rtype: ListNode        """        str1=str2=str3=''        while l1!=None:            str1+=str(l1.val)            l1=l1.next        while l2!=None:            str2+=str(l2.val)            l2=l2.next        str3=str(int(str1)+int(str2))        p=a=ListNode(0)        for num in str3:            p.next=ListNode(int(num))            p=p.next        return a.next

有点暴力了,把链表中的数字提取出来化成字符串,然后转换成int相加,然后转换成ListNode

0 0
原创粉丝点击