67.二进制求和,重复判断
xiaxinandye opened this issue · 1 comments
xiaxinandye commented
不需要在循环里再判断p1,p2是否大于等0了,循环条件就是p1 >=0 && p2 >=0。
while (p1 >= 0 && p2 >= 0) {
//carry += p1 >= 0 ? a.charAt(p1--) - '0' : 0;
//carry += p2 >= 0 ? b.charAt(p2--) - '0' : 0;
carry += a.charAt(p1--) - '0';
carry += b.charAt(p2--) - '0';
sb.insert(0, (char) (carry % 2 + '0'));
carry >>= 1;
}
注释的这两行代码,真的困扰了我 ~~,我都去复习运算符的顺序了,汗。
Blankj commented
当初一开始用的是 p1 >= 0 ||p2 >= 0 所以可以直接一个 while 解决,后来改成了 && 就忘了