java学习debug笔记——List
当有好几个if判断时候,记得一定要return出去。
避免出现满足多个条件情况
例如该题:单链表删除对应索引的结点
思路:分头尾、中间三种情况讨论,虽然前两种情况若不满足就不会进入while循环,但是避免产生错误,还是要用return返回,结束该方法。
public boolean addIndex(String str,int index){
//健壮性
if (index<0 || index>size){
throw new RuntimeException("this index is illeagal");
}
//插在头部
if (index == 0 ){
if (top == null|| size == 0){//链表为空
top = new Node(str,null);
}else{
Node target = new Node(str,top);
}
size++;
return true;
}
//插在尾部
if (index == size){
Node p = top;//定位
while (p.next!=null){
p = p.next;
}
p.next = new Node(str,null);
size++;
return true;
}
//插在中间
Node p = top.next;//定位
Node q = top;//记录前驱结点
int count = 1;
while(count!=index){
p = p.next;
q = q.next;
count++;
}
Node newNode = new Node(str,p);
q.next = newNode;
size++;
return true;
}
版权声明:本文为qq_45480682原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。