Leetcode#29||Divide Two Integers

来源:互联网 发布:倒放的视频软件 编辑:程序博客网 时间:2024/05/22 12:52


public class Solution {    public int divide(int dividend, int divisor) {        if (divisor == 0) {            return Integer.MAX_VALUE;        }        if (divisor == -1 && dividend == Integer.MIN_VALUE) {            return Integer.MAX_VALUE;        }                long dvd = Math.abs((long) dividend);        long dvs = Math.abs((long) divisor);                boolean negative = false;        if ((dividend >= 0) ^ (divisor >= 0)) {            negative = true;        }                int result = 0;                while (dvd >= dvs) {            int shift = 0;            while (dvd >= (dvs << shift)) {                shift++;            }                    result = result + (1 << (shift - 1));            dvd = dvd - (dvs << (shift - 1));        }                if (negative) {            return -result;        } else {            return result;        }    }}


0 0
原创粉丝点击