Advertisement
yash123321

Untitled

Oct 10th, 2021
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int rangeBitwiseAnd(int left, int right) {
  4.         if(right-left<=1)
  5.         {
  6.             return right&left;
  7.         }
  8.         vector<int> a,b;
  9.         while(left>0)
  10.         {
  11.             a.push_back(left%2);
  12.             left/=2;
  13.         }
  14.         while(right>0)
  15.         {
  16.             b.push_back(right%2);
  17.             right/=2;
  18.         }
  19.         if(a.size()!=b.size())
  20.             return 0;
  21.         int ans=0;
  22.         for(int i=a.size()-1;i>=0;i--)
  23.         {
  24.             if(a[i]==b[i]&&a[i]==1)
  25.             {
  26.                 ans+=pow(2,i);
  27.             }
  28.             else if(a[i]!=b[i])
  29.                 break;
  30.         }
  31.         return ans;
  32.     }
  33. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement