题解 | #不用加减乘除做加法#
不用加减乘除做加法
https://www.nowcoder.com/practice/59ac416b4b944300b617d4f7f111b215
class Solution { public: // a+b = a^b + (a&b) << 1 位运算加法定理,记住就行 int Add(int num1, int num2) { if (!num1 || !num2) {// 剔除有值为0情况 if (num1) return num1; else if(num2) return num2; else return 0; } int sum = 0; while (num2 != 0) {// 当num2 == 0,表示不再需要进位 sum = num1^num2;//记录当前值 num2 = (num1&num2) << 1;//检测进位与否 num1 = sum; } return sum; } };
挤挤刷刷! 文章被收录于专栏
记录coding过程