leetcode19. 删除链表的倒数第N个节点
生活随笔
收集整理的這篇文章主要介紹了
leetcode19. 删除链表的倒数第N个节点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個鏈表,刪除鏈表的倒數第?n?個節點,并且返回鏈表的頭結點。
示例:
給定一個鏈表: 1->2->3->4->5, 和 n = 2.
當刪除了倒數第二個節點后,鏈表變為 1->2->3->5.
說明:
給定的 n?保證是有效的。
進階:
你能嘗試使用一趟掃描實現嗎?
分析:一個指針先走k+1次,然后和另一個kNode指針一起往后走,最后刪除kNode.next即可。
注意i:判空(k==鏈表長度的情況,走k+1次會空指針)
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; }* }*/ class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode temp=head;ListNode kNode=head;while(n-->0)temp=temp.next;//為了解決刪除第一個節點的情況會空指針異常if(temp==null){return head.next;}else{temp=temp.next;}while(temp!=null){kNode=kNode.next;temp=temp.next;}kNode.next=kNode.next.next;return head;} }?
?
?
總結
以上是生活随笔為你收集整理的leetcode19. 删除链表的倒数第N个节点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java整体打印二叉树
- 下一篇: servlet基础总结