面试题22. 链表中倒数第k个节点

https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/

func getKthFromEnd(_ head: ListNode?, _ k: Int) -> ListNode? {
    let dummy = ListNode(0)
    dummy.next = head
    var first = dummy
    var second = dummy
    var n = k
    //当前first停留在位置下标(k-1)上
    while n > 0 {
        first = first.next!
        n = n - 1
    }
    //继续遍历first,直至nil,此时second停留位置以后的节点即为倒数k个节点
    while first.next != nil {
        first = first.next!
        second = second.next!
    }
    return second.next
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容