前言
- 有Python基础
- 有数据结构单链表基础,不清楚的可以参考前面的博客
https://blog.youkuaiyun.com/sf9898/article/details/104946291
问题描述
给出两个非空的链表,用来表示两个非负的整数,他们的位数是按逆序存储的,
并且每一个节点都只能存储一个数字。如果将这两个数相加,则会返回一个新的链表
来表示他们的和。可以假设除了数字0之外,这两个数都不会以0开头。
- 输入输出这一块划重点,这里的输入输出是比较抽象的,大致意思对了就行,不是牛客网那种格式化输入。
输入(1 -> 6 -> 4)+ (3 -> 1 -> 2)
输出 (4 -> 7 -> 6)
原因是 461+213 = 674
分析及实现
part1.分析与定义
- 题目要求是用的链表,那么首先先定义链表类。
- 关于数据的合法性:一般不会为难人,给的都会是合法数据,不用判断负数。也不用纠结要是节点存不是一个数字的情况。输入的都只能是合法的字符。
- 关于输入,怎么输入就怎么存,也就是说输入也是逆序的。
class Node(object):
def __init__(self, item):
self.item = item
self.next = None
class Link(object):
def __init__(self):
self.__head = None