给定链表中间某结点指针,删除链表中该结点

来源:互联网 发布:淘宝组装机店铺推荐 编辑:程序博客网 时间:2024/05/16 09:07

说真的,用java做这类带指针的题有无限的问题要解决,出现最多的就是java.lang.NullPointerException(空指针错误)

经我奋力研究,还是把结果给码出来了


public class quchuzhidin {


static int[]input={12,35,12,78,15,78,1};

public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedListNode list = new LinkedListNode();
list = list.buildList(input);
int a=3;

//我把链表分两次打印,共有三步,第一步是打印删除a节点前的节点,第二步是删除a节点,第三步是打印a之后的节点

//这样就能得到想要的结果了,但感觉好像有点偏离原题的样子


for(int i=0;i<a-1;i++){
   System.out.println("link info is "+list.data);
   list=list.link;
}


if(deleteNode(list)){
while(list.link!=null){
   System.out.println("link info is "+list.data);
   list=list.link;
  }
}

}

public static boolean deleteNode(LinkedListNode n){


if(n==null||n.link==null){
return false;
}

LinkedListNode next = n.link;
n.data = next.data;
n.link = next.link;
return true;
}




}

0 0
原创粉丝点击