链表倒数第n个节点
程序员文章站
2024-01-30 18:31:19
...
题意:
找到单链表倒数第n个节点,保证链表中节点的最少数量为n。
解法:我们看到这个问题首先要考虑的就是边界情况,指针是否为空?n是否为0?n是否 大于链表的长度?
边界定义好,我们就开始写代码了,定义两个指针,第一个指针走到n的时候,第二个指针开始行走,当第一个指针走到指针尾部的时候,返回第二个指针所指向的节点。
代码如下:
/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.next = null; * } * } */ public class Solution { /* * @param head: The first node of linked list. * @param n: An integer * @return: Nth to last node of a singly linked list. */ public ListNode nthToLast(ListNode head, int n) { // write your code here if(head == null||n==0){ return null; } ListNode node1 = head; for(int i = 0 ; i < n-1 ; i++){ if(node1.next!=null){ node1 = node1.next; }else{ return null; } } ListNode node2 = head; while(node1.next!=null){ node1 = node1.next; node2 = node2.next; } return node2; } }
上一篇: nagios/icinga plugins常用下载网址
下一篇: SQL点滴24 监测表的变化
推荐阅读
-
链表倒数第n个节点
-
python 递归--给出n个节点计算可以组合成几种二叉树(附代码)
-
LeetCode:求链表中倒数第k个节点(Python)
-
Java实现双链表互相交换任意两个节点的方法示例
-
找出链表倒数第n个节点元素的二个方法
-
数据结构之链表中倒数第k个结点(C++/Java语言实现)
-
数据结构之链表中倒数第k个结点(C++/Java语言实现)
-
剑指offer25:复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),结果返回复制后复杂链表的head。
-
python实现单链表中删除倒数第K个节点的方法
-
Python算法之求n个节点不同二叉树个数