python 对链表中的元素求和的函数无效

afdcj2ne  于 2023-03-21  发布在  Python
关注(0)|答案(1)|浏览(113)

我有一个链表,它的数字是倒过来的(意思是链表的第一个元素是写好的数字右边的最后一个数字,以此类推)

head = ListNode(5)
head.next = ListNode(4)

def sum_number(l1):
            n_sum = 0
            counter = 0
            while l1:
                n_sum += l1.val * (10^counter)
                l1 = l1.next
                counter += 1
            return n_sum
        
            
sum_number(head)

当我尝试前面的代码时,总和为91。当我单独使用head = ListNode(5)时,答案为50。我不知道我做错了什么。

0sgqnhkj

0sgqnhkj1#

快速回答

class ListNode:
    def __init__(self, val=None):
        self.val = val
        self.next = None

head = ListNode(5)
head.next = ListNode(4)

def sum_number(node):
    n_sum = 0
    counter = 0
    while node:
        n_sum += node.val * (10 ** counter)
        node = node.next
        counter += 1
    return n_sum

sum_number(head)

输出:45

说明

正如@MichaelButscher在OP评论中提到的,问题出在幂运算符(Python中的**)上。

相关问题