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.