4.30牛客网刷题易错点()
【4.30牛客网刷题易错点()】1.下列代码哪里有错误?
byte b1=1,b2=2, b3, b6;
final byte b4=4, b5=6;
b6=b4+b5;
b3=(b1+b2);
错误
System.out.println(b3+b6);
解: 其中b3=(b1+b2)编译出错;
因为b1和b2都是byte类型的值,计算时候会将它们提升为int类型,所以b1+b2计算后已经是int型,赋给b3,b3是byte型,类型不匹配,编译不会通过;
注意:java中的byte char short 进行计算时都会提升为int类型;
2.关于==和equals( )方法:
String str1=new String(“hello”);
String str2=new String(“hello”);
System.out.println( str1==str2 ); /返回false
解析:因为他们分别指向两个通过new关键字创建的String对象,所以str1和str2两个变量不相等;
‘==比的永远是变量地址,对象不同,地址自然不同’;
equals:只要两个字符串所包含的字符序列相同,通过equals()比较返回的就是true,否则返回false;
3.在非空线性链表中删除p指针所指节点的直接后继,需要怎么做?data表示数据域,next表示后继指针;
r=p.next; p.next=r.next; free?;
或者:p.next=p.next.next; free(p.next);
4.顺序表结构适合随机存取,而链表适合顺序存取;
5.线索二叉链表是利用(rchild域存储)后继节点的地址。
解析:左孩子域:0指示左孩子,1指示节点前驱;
右孩子域:0指示右孩子,1指示节点后继;
6.向一个有n个元素的顺序表里插入一个新的元素并保持原来顺序不变,平均要移动n/2个元素。
删除一个元素,移动(n-1)/2;
查找一个元素,移动(n+1)/2;
推荐阅读
- java|牛客刷题日记(一)
- 2019-5-15牛客网刷题易错知识点
- 2020牛客寒假算法基础集训营6.C——汉诺塔贪心 & Dilworth定理 & 二分求上升子序列最小化分数
- 2020牛客寒假算法基础集训营5.C——C语言IDE超级大模拟
- 2020牛客寒假算法基础集训营5.J——牛牛战队的秀场
- 2020牛客寒假算法基础集训营5.A——模板简单计算
- 2020牛客寒假算法基础集训营2——H.施魔法DP
- 2020牛客寒假算法基础集训营2——C.算概率DP
- 2020牛客寒假算法基础集训营4.G——音乐鉴赏概率
- 2020牛客寒假算法基础集训营4.I——匹配星星multiset & 贪心 & 二分