zoukankan      html  css  js  c++  java
  • 大数相加Java

    题目

    以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。

    分析

    两个字符串,定义两个指针,分别从这两个字符串的结尾开始遍历,因为可能字符串1比字符串2长度要长,因此只要两者其中有一个还没遍历玩,另一个就用0来补全空位;指针从后往前获取当前两个元素,将当前两个字符,都减去’0’,这就将字符转换成了数字,再将这两个数字和进位值相加,记得初始化进位值是0,然后定义一个变量res,res = (l+r+ans),ans = res/10; l和r分别是两个指针,ans是进位数。最后每次循环将res%10+'0’添加到StringBuilder中,最后将StringBuilder中的值翻转转换成字符串返回。

    代码实现

    /**
         * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
         * 计算两个数之和
         * @param s string字符串 表示第一个整数
         * @param t string字符串 表示第二个整数
         * @return string字符串
         */
        public String solve (String s, String t) {
            // write code here
            StringBuilder builder = new StringBuilder();
            int n1 = s.length()-1;
            int n2 = t.length()-1;
            int ans = 0;
            while (n1>=0||n2>=0||ans==1){
                int l = n1>=0 ? (s.charAt(n1--)-'0'):0;
                int r = n2>=0 ? (t.charAt(n2--)-'0'):0;
    
                int res = l+r+ans;
                ans = res/10;
                char c =(char)(res%10+'0');
                builder.append(c);
            }
            return builder.reverse().toString();
            
        }
    
  • 相关阅读:
    layoutSubviews, setNeedsLayout, layoutIfNeeded
    UIViewController 专题
    UIBarButtonItem
    ios method swizzling
    Method Swizzling
    ios逆向工程
    IOS中通知中心NSNotificationCenter应用总结
    Swift 进阶
    swift 2.0 语法 字符串
    C++Builder中MessageBox的基本用法
  • 原文地址:https://www.cnblogs.com/dataoblogs/p/14121821.html
Copyright © 2011-2022 走看看