int divide(int dividend, int divisor) {
//唯一可能的越界情况
if(dividend == INT_MIN && divisor == -1)
return INT_MAX;
//单独对divisor == INT_MIN 进行的处理
if(divisor == INT_MIN)
return dividend==INT_MIN?1:0;
int flag = 0;
int ans = 0;
//判断两个int是否同符号
if((dividend^divisor)&0x80000000)
flag = 1;
int plus = 0;
//负转正可能越界
if(dividend<0)
{
if(dividend==INT_MIN)
{
//单独处理越界情况
plus = 1;
dividend = INT_MAX;
}
else
{
dividend = -dividend;
}
}
if(divisor<0) divisor = -divisor;
for(int i=