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; リターンヘッド; }