刷题网址收藏 _python_链表数组字符串转换
2021/9/5 1:05:47
本文主要是介绍刷题网址收藏 _python_链表数组字符串转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
编程练习:
1、LeetCode或intCode, CodeChef可免费查看他人源码;
2、可独立在线IDE验证的:LeetCode、Anycodes、Fenby、CodeChef、Dooccn;
3、仅需学习编程语言:Anycodes或Frenby;
4、更系统全面的深入学习,建议到实验楼或极客学院;
剑指 Offer 22. 链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。
例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。
示例:
给定一个链表: 1->2->3->4->5, 和 k = 2.
返回链表 4->5.
参考地址:LeetCode初级算法的Python实现--链表 - NSGUF - 博客园 (cnblogs.com)
import json # Definition for singly-linked list. class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: def getKthFromEnd(self, head: ListNode, k: int) -> ListNode: node, n = head, 0 while node: node = node.next n += 1 node = head for _ in range(n-k): node = node.next return node # 将列表转换成链表 def stringToListNode(str_input): numbers = str_input dummyRoot = ListNode(0) ptr = dummyRoot for number in numbers: ptr.next = ListNode(number) ptr = ptr.next ptr = dummyRoot.next return ptr # 将链表转换成字符串 def listNodeToString(node): if not node: return "[]" result = "" while node: result += str(node.val) + ", " node = node.next return "[" + result[:-2] + "]" if __name__ == '__main__': head_input = json.loads(input().strip()) k_input = int(input().strip()) ptr_output = stringToListNode(head_input) result = Solution().getKthFromEnd(ptr_output, k_input) print(listNodeToString(result))
这篇关于刷题网址收藏 _python_链表数组字符串转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享
- 2024-12-19Python资料:新手入门的全面指南
- 2024-12-19Python股票自动化交易实战入门教程
- 2024-12-19Python股票自动化交易入门教程