您的位置:首页 > 其它

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

2015-01-20 20:26 393 查看
说真的,用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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐