LeetCode_190. Reverse Bits
发布时间:2020-12-14 04:39:18 所属栏目:大数据 来源:网络整理
导读:? 190.?Reverse Bits Easy Reverse bits of a given 32 bits unsigned integer. ? Example 1: Input: 00000010100101000001111010011100Output: 00111001011110000010100101000000Explanation: The input binary string 00000010100101000001111010011100 re
? 190.?Reverse Bits
Easy
Reverse bits of a given 32 bits unsigned integer. ? Example 1: Input: 00000010100101000001111010011100 Output: 00111001011110000010100101000000 Explanation: The input binary string 00000010100101000001111010011100 represents the unsigned integer 43261596,so return 964176192 which its binary representation is 00111001011110000010100101000000. Example 2: Input: 22222222222222222222222222222201 Output: 10222222222222222222222222222222 Explanation: The input binary string 22222222222222222222222222222201 represents the unsigned integer 4294967293,so return 3221225471 which its binary representation is 10102222210010110010011101101001. ? Note:
? Follow up: If this function is called many times,how would you optimize it? ? package leetcode.easy; public class ReverseBits { // you need treat n as an unsigned value public int reverseBits(int n) { int result = 0; for (int i = 0; i < 32; i++) { result += n & 1; n >>>= 1; // CATCH: must do unsigned shift if (i < 31) { // CATCH: for last digit,don‘t shift! result <<= 1; } } return result; } @org.junit.Test public void test() { System.out.println(reverseBits(-3)); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |