题解 | #链表中倒数最后k个结点#

链表中倒数最后k个结点

http://www.nowcoder.com/practice/886370fe658f41b498d40fb34ae76ff9

import java.util.*;

/*

  • public class ListNode {
  • int val;
  • ListNode next = null;
  • public ListNode(int val) {
  • this.val = val;
    
  • }
  • } */

public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pHead ListNode类 * @param k int整型 * @return ListNode类 */ public ListNode FindKthToTail (ListNode pHead, int k) { // write code here if(pHead == null || k == 0) return null; ListNode p = pHead; int len = 1; // 遍历链表,计算链表的长度 while(p.next != null) { p = p.next; len++; } // 只有一个节点 if(len == 1 && k == len) return pHead; p = pHead; int m = len - k; // 大于链表长度 if(m < 0) return null; else { for(int i = 1; i <= m; i++) { p = p.next; } return p; } } }

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务