174.リンクリストの下部からn番目のノードを削除します

174.リンクリストの下部からn番目のノードを削除します
 

リンクリストを指定したら、リンクリストの下部からn番目のノードを削除し、リンクリストのヘッドノードを返します。


サンプル

例1:
    入力:list = 1-> 2-> 3-> 4-> 5-> null、n = 2
    出力:1-> 2-> 3-> 5-> null


例2:
    入力:list = 5-> 4-> 3-> 2-> 1-> null、n = 2
    出力:5-> 4-> 3-> 1-> null

チャレンジ

O(n)時間計算量の
考慮事項

リンクリスト内のノード数がn以上

 

ListNode * removeNthFromEnd(ListNode * head、int n){         //ここにコードを記述します         if(NULL == head)         {             return head;         }         ListNode * front = head;         ListNode * back = head;         while(n> 0)         {             n--;             if(NULL == front)             {                 NULLを返す;             }             front = front-> next;         }         //删除头部         if(NULL == front)         {             return head-> next;         }

        




        










            





        フロント=フロント->次;
        while(front)
        {             back = back-> next;             フロント=フロント->次;         }         back-> next = back-> next-> next;         リターンヘッド;     }



      


おすすめ

転載: blog.csdn.net/yinhua405/article/details/112976715