Is finding rightmost set bit by this approach wrong.
int ans=xorsum,int rightmost=0;
while(ans){
int mask=1<<i;
if(ans&mask){
break;
}
ans=ans>>1;
i++;
}
rightmost=1<<i;
My code gave WA for some test cases when I used this code snippet to find rightmost set bit.It worked when I removed this with rightmost=xorsum&(-xorsum)
can anyone please why the above got snippet may not work.