チェーンテーブル---leedcode 19チェーンテーブルのn番目のノードを削除する(Medium)


タイトル
      ,         n    ,          。

  :

      : 1->2->3->4->5,   n = 2.1->2->3->5.
  :

    n       。

解析
JAvaコード:
class Solution {
     
    public ListNode removeNthFromEnd(ListNode head, int n) {
     
        ListNode dummyP = new ListNode(0);
		 ListNode dummyQ = new ListNode(0);
		 ListNode tempNode =  dummyP;
		 dummyP.next = head;
		 dummyQ.next = head;
		 //   dummyP,dummyQ             n(   q  n+1 )
		 for(int i = 0;i< n+1;i++) {
     
			 dummyQ = dummyQ.next;
		 }
		 //  dummyQ  null ,dummyP、dummyQ        
		 while(dummyQ != null) {
     
			 dummyP = dummyP.next;
			 dummyQ = dummyQ.next;
		 }
		 //   dummyP              
		 dummyP.next = dummyP.next.next;
		 	 
		return tempNode.next;	        
	    }  
}

jsコード:
var removeNthFromEnd = function(head, n) {
     
    var q = new ListNode();
    var p = new ListNode();
    var temp = p;   //    
    p.next = head;
    q.next = head;
    //     p、q       n
    for(var i = 0; i < n+1; i++){
     
        q = q.next;
    }
    //      p、q,  q   
    while(q != null) {
     
        p = p.next;
        q = q.next;
    }
    //   p                
    p.next = p.next.next;
    return temp.next;
};