题
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。
注意:本题相对原题稍作改动
示例:
输入: 1->2->3->4->5 和 k = 2
输出: 4
说明:
给定的 k 保证是有效的。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/kth-node-from-end-of-list-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
先进行遍历知道长度,在遍历输出len-k位置
/**
* Example:
* var li = ListNode(5)
* var v = li.`val`
* Definition for singly-linked list.
* class ListNode(var `val`: Int) {
* var next: ListNode? = null
* }
*/
class Solution {
fun kthToLast(head: ListNode?, k: Int): Int {
var temp=head
var len=0
while (temp != null) {
len++
temp = temp.next
}
temp=head
var i=0
while (temp != null) {
i++
if (i==len-k+1){
return temp.`val`
}
temp = temp.next
}
return head!!.`val`
}
}