原题:
拓展:
思路:
如何链表是反序的,那么就与我们正常情况下的计算相同了,只需要考虑进位就可以了。
因此解决方案自然就想到了将两个链表反序存储,并不需要对单链表进行反置操作,只需借助 stack 就可以了。
步骤:
1、创建两个空栈s1和s2,创建结果栈rs。
2、将链表l1压入栈s1,将l2压入栈s2。
3、弹出栈s1和s2的元素,进行进位计算,将结果压入栈rs中;注意考虑最后s1和s2为空但是进位不为空的情况。
4、创建空单链表empty,以单链表empty的next元素为真实开始,放入rs全部弹出元素。
5、返回empty.next。
代码:
package questions;
import java.util.Stack;
public class Question2Ext {
p