您的位置:首页 > 其它

LeetCode: Divide Two Integers

2013-03-20 21:34 369 查看
很多bug还不清楚。。用了网上答案

class Solution {
public:
int divide(int dividend, int divisor) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
bool isnegtive = false;
int multiply = 0;
long long a = dividend;
long long b = divisor;
if (a < 0) {
a = -a;
isnegtive = !isnegtive;
}
if (b < 0) {
b = -b;
isnegtive = !isnegtive;
}
while (b << multiply <= a) {
multiply++;
}
int ret = 0;
for (int i = multiply-1; i >= 0; i--) {
if (b << i <= a) {
ret = ret | (1 << i);
a -= b << i;
}
}
if (isnegtive) ret = -ret;
return ret;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: