跳至主要內容

配位交换(😳)

Mr.He小于 1 分钟算法互换

配位交换(😳)

配位交换open in new window

配位交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推)。

/**
 * @param {number} num
 * @return {number}
 */
var exchangeBits = function(num) {
    let str = num.toString(2)
    let res = ''
    if (str.length % 2 === 1) str = '0' + str
    for(let i = 1; i <= str.length; i++) {
        if(i % 2 === 1) res = res + str[i] + str[i-1]
    }
    return parseInt(res, 2)
};