Lintcode: Nth to Last Node in List
Find the nth to last element of a singly linked list. The minimum number of nodes in list is n. Example Given a List 3->2->1->5->null and n = 2, return node whose value is 1.
Runner Technique: 两个指针都从Dummy node出发,结束条件是runner.next!=null
1 public class Solution { 2 /** 3 * @param head: The first node of linked list. 4 * @param n: An integer. 5 * @return: Nth to last node of a singly linked list. 6 */ 7 ListNode nthToLast(ListNode head, int n) { 8 // write your code here 9 ListNode dummy = new ListNode(0); 10 dummy.next = head; 11 ListNode walker = dummy; 12 ListNode runner = dummy; 13 while (runner.next != null && n>0) { 14 runner = runner.next; 15 n--; 16 } 17 while (runner.next != null) { 18 runner = runner.next; 19 walker = walker.next; 20 } 21 return walker.next; 22 } 23 }
分类:
Lintcode
标签:
Lintcode
, Linkedlist
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架