3G门户Java笔试题(部分大题的大意,非顺序) ( I LOVE SCAU)
1.一个长1001的数组,放1-1000这1001个数,有一个是重复的,不要用额外的存储空间,求出这个数是多少?
将所有元素异或,再与1-1000也异或,结果就是要求的数。
2.输入一个数,返回它的.逆置,如输入55821000,返回12855
( 简单,先去掉n尾部的0)
int method(int n){
if(n==0)return 0;
while(n%10==0)n/=10;
int result=0;
while(n!=0) {
result = result*10+n%10;
n=n10;
}
return result;
}
t s1 = 0; s1 = s1+1; short s1 = 0; s1 += 1; 2种哪一种编译对,哪种错?为什么?
前面错 后面对
因为s1+1是提升为int运算的,故应该写s1 = (short)(s1+1) ;而s1 +=1 相当于s1 = (short)(s1+1)
4.抽象类和接口的区别?
5.最后一题,写程序求将一棵二叉查找树镜像(就是左右颠倒,有图比较好理解)
6. 关于synchronize的,大概是一个线程访问了同步方法,其他线程还可以访问这个对象的其他方法吗(题意有些模糊,我答:可以,前提是“其他方法”是非synchronize的)