leetcode-19-删除链表的倒数第N个节点
生活随笔
收集整理的這篇文章主要介紹了
leetcode-19-删除链表的倒数第N个节点
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問題:
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/ class Solution {/*** 刪除倒數(shù)第n個節(jié)點* 思路1:* 兩次遍歷* 第一次遍歷:記錄該鏈表一共有多少個節(jié)點 len* 找到要刪除節(jié)點的位置 len = len-n* 第二次遍歷:len每次減1,當len為0是即為要刪除的節(jié)點* 將要刪除節(jié)點后一個節(jié)點覆蓋當前節(jié)點*/public ListNode removeNthFromEnd(ListNode head, int n) {ListNode dummy = new ListNode(-1);dummy.next = head;if (n == 1 && head.next == null) {return null;}int len = 0;ListNode temp = head;while (temp != null) {temp = temp.next;len++;}int del = len - n;temp = dummy;while (del > 0) {temp = temp.next;del--;}temp.next = temp.next.next;return dummy.next;} }?
總結
以上是生活随笔為你收集整理的leetcode-19-删除链表的倒数第N个节点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode-21-合并两个有序链表
- 下一篇: leetcode-237-删除链表中的节