class Solution {
public static int binaryToInteger(char[] numbers) {
int result = 0;
for(int i=numbers.length - 1; i>=0; i--)
if(numbers[i]=='1')
result += Math.pow(2, (numbers.length-i - 1));
return result;
}
public static int insertBits(int N, int M, int i, int j) {
String sn=Integer.toBinaryString(N);
String sm=Integer.toBinaryString(M);
String strn = new StringBuffer(sn).reverse().toString();
String strm = new StringBuffer(sm).reverse().toString();
while(strn.length()<32)
{
strn=strn+"0";
}
while(strm.length()<(j-i+1))
{
strm=strm+"0";
}
char[] numsn=strn.toCharArray();
char[] numsm=strm.toCharArray();
int len= numsn.length;
int x=0;
for(int k=i;k<=j;k++)
{
numsn[k]=numsm[x++];
}
String str1 = new String(numsn);
String str = new StringBuffer(str1).reverse().toString();
char[] ans=str.toCharArray();
int number= binaryToInteger(ans);
return number;
}
}
我用java写的特别心酸,一些转换函数都要现场查,我是得系统看一下Java的视频代码了。