题解 | #36进制加法#

36进制加法

https://www.nowcoder.com/practice/c5db069fd9d64e6e9cf5fd68860abcdd

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param A string字符串 
     * @param B string字符串 
     * @return string字符串
     */
    public String thirtysixAdd (String A, String B) {
        // write code here
        int add = 0;
        StringBuilder sb = new StringBuilder();
        char[] arr1 = A.toCharArray();
        char[] arr2 = B.toCharArray();
        int a = arr1.length - 1;
        int b = arr2.length - 1;
        while (a >= 0 || b >= 0 || add != 0) {
            int x = a >= 0 ? (Character.isDigit(A.charAt(a)) ? A.charAt(a) - '0' : (A.charAt(a) - 'a' + 10))
                : 0;
            int y = b >= 0 ? (Character.isDigit(B.charAt(b)) ? B.charAt(b) - '0' : (B.charAt(b) - 'a' + 10))
                : 0;  
            int res = (x + y + add) % 36;
            if (res >= 0 && res <= 9) {
                sb.append((char)(res + '0'));
            } else {
                sb.append((char)(res - 10 + 'a'));
            }
            add = (x + y + add) / 36;
            a--;
            b--;      
        }
        return sb.reverse().toString();
    }
}

全部评论

相关推荐

10-15 03:05
门头沟学院 Java
CADILLAC_:凯文:我的邮箱是死了吗?
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务