码迷,mamicode.com
首页 > 其他好文 > 详细

415. Add Strings

时间:2016-10-25 14:30:00      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:ring   append   最简   return   char   设置   end   builder   ret   

BitInteger的最简单的部分

把两个string反过来,从后往前加,可以学习的地方是对于while的条件可以设置成,index1< len1 || index2 < len2.

然后在内部分别对index1 < len1和index2 <len2处理,这样就不用对其中一个提前结束的情况单独再写一个循环了

 

 1     public String addStrings(String num1, String num2) {
 2         if(num1 == null) {
 3             return num2;
 4         }
 5         if(num2 == null) {
 6             return num1;
 7         }
 8         StringBuilder sb1 = new StringBuilder(num1);
 9         StringBuilder sb2 = new StringBuilder(num2);
10         int len1 = num1.length();
11         int len2 = num2.length();
12         sb1.reverse();
13         sb2.reverse();
14         StringBuilder sb = new StringBuilder();
15         int index1 = 0;
16         int index2 = 0;
17         int carry = 0;
18         while(index1 < len1 || index2 < len2) {
19             int cur = carry;
20             if(index1 < len1) {
21                 cur += sb1.charAt(index1++) - ‘0‘;
22             }
23             if(index2 < len2) {
24                 cur += sb2.charAt(index2++) - ‘0‘;
25             }
26             if(cur > 9) {
27                 cur %= 10;
28                 carry = 1;
29             } else {
30                 carry = 0;
31             }
32             sb.append(cur);
33         }
34         if(carry == 1) {
35             sb.append(1);
36         }
37         return sb.reverse().toString();
38     }

 

415. Add Strings

标签:ring   append   最简   return   char   设置   end   builder   ret   

原文地址:http://www.cnblogs.com/warmland/p/5996307.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!