题解 | 链表相加(二)

链表相加(二)

https://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param head1 ListNode类 
# @param head2 ListNode类 
# @return ListNode类
#
class Solution:
    def addInList(self , head1: ListNode, head2: ListNode) -> ListNode:
        # write code here
        reversed1 = self.reverseList(head1)
        reversed2 = self.reverseList(head2)

        dummy = ListNode(0)
        current = dummy
        carry = 0

        while reversed1 or reversed2 or carry:
            val1 = reversed1.val if reversed1 else 0
            val2 = reversed2.val if reversed2 else 0
            total = val1 + val2 + carry
            carry = total // 10
            current.next = ListNode(total % 10)
            current = current.next 

            if reversed1:
                reversed1 = reversed1.next
            if reversed2:
                reversed2 = reversed2.next

        result = self.reverseList(dummy.next)
        return result


    def reverseList(self, pHead):
        if not pHead:
            return None
        prev = None
        curr = pHead
        while curr:
            next_node = curr.next
            curr.next = prev
            prev = curr
            curr =next_node

        return prev

全部评论

相关推荐

07-17 12:07
门头沟学院 Java
勇敢牛牛不怕困难
投递OPPO等公司9个岗位
点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务