删除链表倒数第N个节点

前后两个指针,相距N

public class DeleteBackN {
    public void deleteBackN(Node headNode, int N) {
        if (headNode == null || N==0) {
            System.out.println("error: Node is null or N is zero, please check!");
        }else{
            Node nodeBeh = headNode;
            while (N != 0) {
                headNode = headNode.next;
                N--;
            }
            Node nodeBef = headNode;
            while(nodeBef.next!=null){
                nodeBef=nodeBef.next;
                nodeBeh=nodeBeh.next;
            }
            nodeBeh.next=nodeBeh.next.next;
        }
    }
}
View Code

 

posted @ 2018-10-10 18:30  ZECDLLG  阅读(68)  评论(0编辑  收藏  举报