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

链表中倒数最后k个结点

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

package main

import . "nc_tools"

/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param pHead ListNode类
 * @param k int整型
 * @return ListNode类
 */
func FindKthToTail(pHead *ListNode, k int) *ListNode {
	// write code here
	tmpPointer := pHead
	tmpIndex := 1
	for tmpPointer != nil {
		tmpIndex++
		tmpPointer = tmpPointer.Next
	}
	//计算长度
	listLen := tmpIndex - 1
	if k > listLen {
		return nil
	}
	//目标列表的开始位置计算
	tarPos := listLen - k + 1
	tmpIndex = 1
	tmpPointer = pHead
	for tmpIndex != tarPos {
		tmpIndex++
		tmpPointer=tmpPointer.Next
	}
	return tmpPointer
}

全部评论

相关推荐

01-14 15:08
东南大学 Java
点赞 评论 收藏
分享
01-07 15:50
四川大学 Java
看日出看日落:好好背八股,做算法。我身边跟你bg差不多的基本都大厂暑期
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务