leetcode刷题_PYTHON(15):链表(15) 重排链表
2021/9/12 20:04:52
本文主要是介绍leetcode刷题_PYTHON(15):链表(15) 重排链表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
解题思路
1、快慢指针找中点,等分成左右两个部分
2、右半部分逆序
3、左右两个部分逐个拼接
class Solution: def reorderList(self, head: ListNode) -> None: """ Do not return anything, modify head in-place instead. """ ##翻转函数 def reverseList(node: ListNode): pre = None cur = node while cur: temp = cur.next cur.next = pre pre = cur cur = temp return pre #快慢指针找中点 slow=head fast=head while fast.next and fast.next.next: slow,fast=slow.next,fast.next.next #右半部分right逆序,左半部分left不动 reverse_node=slow.next right=reverseList(reverse_node) slow.next=None left=head #左右两部分逐个拼接+ while right: left=left.next head.next=right head=head.next right=right.next head.next=left head=head.next 作者:wantingchi 链接:https://leetcode-cn.com/problems/reorder-list/solution/ti-jie-qing-xi-zhi-xing-yong-shi-zai-suo-mhip/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这篇关于leetcode刷题_PYTHON(15):链表(15) 重排链表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南