371. Sum of Two Integers
2016-07-20 00:13
239 查看
题意:实现两个数相加,但是不是用+或者-
代码实现:
int sum=a;
int carry=b;
while(carry!=0){
int temp=sum^carry;
carry=(sum&carry)<<1;
sum=temp;
}
return sum;
解题思路:
不用加号,那只能用&或者^
![](http://img.blog.csdn.net/20160720001253727?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如上图所示,当不考虑进位时,用^,当考虑进位时,用$,并且左移<<一位得到carry;一直到carry为零,也就是没有进位的相加为止
代码实现:
int sum=a;
int carry=b;
while(carry!=0){
int temp=sum^carry;
carry=(sum&carry)<<1;
sum=temp;
}
return sum;
解题思路:
不用加号,那只能用&或者^
如上图所示,当不考虑进位时,用^,当考虑进位时,用$,并且左移<<一位得到carry;一直到carry为零,也就是没有进位的相加为止
相关文章推荐
- leetcode 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- leetcode----Longest Substring Without Repeating Characters
- [LeetCode]47 Permutations II
- [LeetCode]65 Valid Number
- [LeetCode]123 Best Time to Buy and Sell Stock III
- [LeetCode] String Reorder Distance Apart
- [LeetCode] Sliding Window Maximum
- [LeetCode] Find the k-th Smallest Element in the Union of Two Sorted Arrays
- [LeetCode] Determine If Two Rectangles Overlap
- [LeetCode] A Distance Maximizing Problem
- leetcode_linearList
- leetcode_linearList02
- 021-Merge Two Sorted Lists(合并两个排好序的单链表);leetcode
- LeetCode[Day 1] Two Sum 题解
- LeetCode[Day 2] Median of Two Sorted Arrays 题解
- LeetCode[Day 3] Longest Substring Without... 题解
- LeetCode [Day 4] Add Two Numbers 题解