使用栈来做,定义三个栈,前两个栈各保存一个链表的值,然后将两个链表的一同pop,pop出的值相加作为第三个链表的一个值push进第三个链表,最后再将第三个链表中的元素依次pop出来作为新链表的节点值。 其中要考虑进位,可以设置一个b,有进位则设为1,没进位设为0,第三个链表的值设为前两个链表pop出的值加上b,若结果>=10则-10处理,并将b设为1,否则b为0. 即: val=s1.pop()+s2.pop()+b; if(val>=10) { val=val-10; b=1; } else b=0; s3.push(val);