算法题/链表中倒数第K个结点
来源:互联网 发布:mysql备份 编辑:程序博客网 时间:2024/06/05 14:57
输入一个链表,输出该链表中倒数第k个结点
两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了。
#coding:utf-8class ListNode: def __init__(self,x): self.val = x self.next = Noneclass Solution: def FindKthToTail(self,head,k): front = head tail = head #将一个指针指向第k个位置 for i in range(k): if front == None: return if front.next == None and i == k-1: return head front = front.next #首指针和尾指针同时移动 while front.next != None: front = front.next tail = tail.next return tail.nextif __name__ == '__main__': node1 = ListNode(10) node2 = ListNode(11) node3 = ListNode(12) node4 = ListNode(13) node5 = ListNode(14) node6 = ListNode(15) node1.next = node2 node2.next = node3 node3.next = node4 node4.next = node5 node5.next = node6 node6.next = None s = Solution() print(s.FindKthToTail(node1,2).val)
阅读全文
0 0
- 算法题9 查找链表中倒数第k个结点
- 算法题/链表中倒数第K个结点
- 【算法】求链表中倒数第K个结点
- 算法学习五---输出链表中倒数第k个结点
- 面试算法(十四)链表中倒数第k个结点
- 每天一个算法之链表中倒数第K个结点
- 算法题目---链表中倒数第k个结点
- 算法-获取链表中倒数第k个结点
- 算法题:求链表倒数第K个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第 k个结点
- 查找链表中倒数第k个结点
- 查找链表中倒数第k个结点
- 输出链表中倒数第k个结点
- 查找链表中倒数第k个结点
- centos下安装rabbitMQ
- Centos 6 升级python到2.7
- C#学习回顾笔记十:for循环语句
- C++类总结
- 学习笔记37-C++异常处理
- 算法题/链表中倒数第K个结点
- PullToRefresh,fragment与TabLayout使用
- js基础-表单
- 如何手动获取MyEclipse 注册码
- 渲染到Oculus Rift
- 简书App适配iOS 11
- TabLayout横滑菜单
- 第四周项目一—建立单链表
- Python 查找指定类型的文件