当前位置: 首页 > news >正文

K个节点的组内逆序调整

题目

给定一个单链表的头节点head,和一个正数k实现k个节点的小组内部逆序,如果最后一组不够k个就不调整
例子:
调整前:1->2->3->4->5->6->7->8,k=3
调整后:3->2->1->6->5->4->7->8

tips:功能拆分:获取当前组的结尾节点、反转、拼接

  • 定义链表
"""单链表"""  
class ListNode:  def __init__(self, value):  self.next = Noneself.val = value
  • 获取当前组的结尾节点
def get_end(node, k):  while k > 1 and node:  node = node.next  k -= 1  return node
  • 反转
def reverse(start, end):  end = end.next  prev = None  cur = start  while cur != end:  next = cur.next  cur.next = prev  prev = cur  cur = next  start.next = end
  • 拼接
def reverse_all(head, k):  start = head  end = get_end(head, k)  if end is None:  return head  head = end  reverse(start, end)  last_end = start  while last_end.next:  start = last_end.next  end = get_end(start, k)  if end is None:  return head  reverse(start, end)  last_end.next = end  last_end = start  return head
http://www.hskmm.com/?act=detail&tid=23638

相关文章:

  • 【任务】自然语言处理——情感分析 <上>
  • 文件目录
  • 【Azure App Service】Root CA on App Service
  • QOJ #8147. Math Exam 题解
  • 10.03模拟赛t3
  • 国庆梦熊集训做题记录
  • 文件的逻辑结构
  • python 肘部法则,判点聚类分为几类,K-means聚类分析
  • AT_abc315_f [ABC315F] Shortcuts
  • 紫外UV固化太阳光模拟器的原理 - 教程
  • 每日一题
  • P5709 【深基2.习6】Apples Prologue / 苹果和虫子
  • 问题表 - microsoft
  • Leetcode 736. Lisp 语法解析
  • Day10.1
  • SolarWinds Web Help Desk远程代码执行漏洞分析
  • Aria2安装
  • 正则表达式学习
  • 深入解析:[特殊字符]函数指针:C语言的动态灵魂,嵌入式的超能力(202589)
  • 《电路基础》第八章学习笔记
  • 《电路基础》第七章学习笔记
  • LLM大模型:deepseek sparse attention是个啥?
  • Day10
  • 软著申请全流程材料模板,2025年最新模板汇总! - 实践
  • 手把手教你使用 Docker 部署 Nginx 教程
  • CF2129 CF1951 VP 记录
  • PWN-BUUCTF-test_your_nc
  • 详细介绍:计算机视觉:OpenCV+Dlib 人脸检测
  • python 老生常谈的找2个excel相同列的行,把其中一个excel行的对应的值放入到另一个excel中
  • 实用指南:淘宝团购上线:本地生活的“两种解法”