逆置求和的解法

题目描述:

编写一个reverseadd函数,实现两个数逆置后再求和的功能,比如输入123,456就是求321+654,输出975。注意:输入100,200输出3,(自动去除开头的0)。

输入示例:

123

456

输出示例:

975

import java.util.ArrayList;
import java.util.Scanner;
 
class E {
    public int reverseadd(int add1,int add2) {
        ArrayList<Integer> array_add1 = new ArrayList<Integer>();//保存加数1的链表
        ArrayList<Integer> array_add2 = new ArrayList<Integer>();//保存加数2的链表
        while (add1 != 0 && add2 != 0) {                         //分别分离每位上的数字
            if(add1 != 0) {                                  //分离加数1
                array_add1.add(add1 % 10);
                add1 = add1 / 10;
            }
            if(add2 != 0) {                                  //分离加数2
                array_add2.add(add2 % 10);
                add2 = add2 / 10;
            }
        }
        int reverseadd1 = 0, reverseadd2 = 0;                    //把链表里的数字重新组合成一个数
        for (int i = 0; i < array_add1.size(); i++) {
            reverseadd1 = reverseadd1 * 10 + array_add1.get(i); 
        }
        for (int i = 0; i < array_add2.size(); i++) {
            reverseadd2 = reverseadd2 * 10 + array_add2.get(i);
        }
        
        return reverseadd1 + reverseadd2;                       //返回逆置后的两个加数和
    }
}
 
public class Test{
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        int add1 = sc.nextInt();
        int add2 = sc.nextInt();
        E e = new E();                                        //实例化
        int sum = e.reverseadd(add1, add2);                   //调用reverseadd函数
        
        System.out.println(sum);                              //输出结果
        
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值