【问题分析】
1、将两个加数的相应位从高位到低位依次压如栈sa,sb
2、若两个加数栈都非空,则依次从栈中弹出栈顶数字相加,结果存入partialsum;
若和有进位,则将和的个位数压入结果栈sum中,并将进位数1加到下一位数字相加的和中;
若和没有进位,则直接将和存入栈sum中
3、若某个加数堆栈为空,则将非空栈中的站顶数字依次弹出与进位数相加,和的个位数压入sum,直到该栈为空为止。
若最高位有进位,则最后将1压入sum
4、若两个加数栈都为空,则栈sum中保存的就是计算结果。栈顶是结果中最高位数字。
链栈中的结点类就是前面文章的Node类,不再重复
下面是实现栈的抽象数据类型用java接口描述
public interface Istack {
public void clear();