字节跳动
36进制加法
题目描述
36进制由0-9,a-z,共36个字符表示。
要求按照加法规则计算出任意两个36进制正整数的和,如 1b + 2x = 48 (解释:47+105=152),1 + a = b (解释:1+10 = 11 ) , 1z + 1 = 20 (解释:71 + 1 = 72)
要求:不允许使用先将36进制数字整体转为10进制,相加后再转回为36进制的做法
题目分析
跟LC415. 字符串相加做法类似,掌握十进制的大整数加法后,本题只需要注意将10
变成36
,以及36进制字符与数值的转换。这里使用getChar(int n)
和getInt(char c)
两个辅助函数来完成36进制字符与数值的转换。
参考代码
1 | public class Add36Strings { |