博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
*【python/Hard/25】Reverse Nodes in k-Group
阅读量:2171 次
发布时间:2019-05-01

本文共 964 字,大约阅读时间需要 3 分钟。

题目

在这里插入图片描述

基本思路

先依次向后确定每个分组,对确定的分组用尾插法进行逆置,然后设置新的起点,重复上述过程即可

实现代码

# Definition for singly-linked list.# class ListNode:#     def __init__(self, x):#         self.val = x#         self.next = Noneclass Solution:    def reverseKGroup(self, head, k):        """        :type head: ListNode        :type k: int        :rtype: ListNode        """        pre = ListNode(-1)        tail = pre                q = head        while q is not None:            #向后查找k个节点            n = k            p = q            while p is not None and n > 0:                p = p.next                n -= 1                            #如果在查找k个节点的过程中遇到None,则说明            #后面的节点不够k个节点则直接跳出即可            if n > 0:                tail.next = q                break                        #将这K个节点以头插法插入            end = q            while q != p:                t = q.next                q.next = tail.next                tail.next = q                q = t            tail = end        return pre.next
你可能感兴趣的文章
linux放音乐cd
查看>>
GridView+存储过程实现'真分页'
查看>>
flask_migrate
查看>>
解决activemq多消费者并发处理
查看>>
UDP连接和TCP连接的异同
查看>>
hibernate 时间段查询
查看>>
java操作cookie 实现两周内自动登录
查看>>
Tomcat 7优化前及优化后的性能对比
查看>>
Java Guava中的函数式编程讲解
查看>>
Eclipse Memory Analyzer 使用技巧
查看>>
tomcat连接超时
查看>>
谈谈编程思想
查看>>
iOS MapKit导航及地理转码辅助类
查看>>
检测iOS的网络可用性并打开网络设置
查看>>
简单封装FMDB操作sqlite的模板
查看>>
iOS开发中Instruments的用法
查看>>
iOS常用宏定义
查看>>
什么是ActiveRecord
查看>>
有道词典for mac在Mac OS X 10.9不能取词
查看>>
关于“团队建设”的反思
查看>>