博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 25. Reverse Nodes in k-Group
阅读量:6903 次
发布时间:2019-06-27

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

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* reverseKGroup(ListNode* head, int k) {        /*        和24题类似        因为常数空间,故需要先判断后k个指针是否完整存在        交换时,第i个与第i+1个指针改成p[i+1]->next=p[i],【i=1,...k-1】        记录第1个后第k个指针,第k+1个指针                pl->next=prnext        pre->next=pr                pre=pl        */        ListNode* pre=new ListNode(0),*pp=pre,*pl,*pr,*pt,*p1,*p2;        pre->next=head;        while(1){            //判断后面是否有k个,若没有则结束            pl=pre->next;            pr=pre;            for(int i=0;i
next) pr=pr->next; else{ //没有k个 pre=pp->next; delete pp; return pre; } } //有k个的情况 //修改p[l...r]的指针的方向 p1=pl; p2=pl->next; while(p1!=pr){ pt=p2->next; p2->next=p1; p1=p2; p2=pt; } //把链表重新相连 pl->next=p2;//最后p2代表的就是原来pr->next pre->next=pr; pre=pl; } }};

转载于:https://www.cnblogs.com/ximelon/p/10834099.html

你可能感兴趣的文章
SharePoint SPListWS.Lists 调用数据量过大时报错的处理方法
查看>>
iOS之CATextLayer属性简介
查看>>
win10系统下cmd输入一下安装的软件命令提示拒绝访问解决办法
查看>>
git报错You are not allowed to force push code to a protected branch on this project
查看>>
times(NULL) Segmentation fault
查看>>
洛谷OJ P1010 幂次方 解题报告
查看>>
Python虚拟环境Virtualen简单使用
查看>>
给春节的宴客小吃来点小惊喜---绿茶甜心曲奇
查看>>
主动调用其他类的成员(普通调用和super方法调用)
查看>>
【2142】数据结构实验之图论二:基于邻接表的广度优先搜索遍历 (SDUT)
查看>>
Prometheus 普罗米修斯监控
查看>>
Only the original thread that created a view hierarchy can touch its views的解决方案
查看>>
教你如何在项目中集成支付功能
查看>>
设计模式:设计模式概述&JDK中的应用
查看>>
select 标签级联 和 html增加/删除行
查看>>
java分模块项目在idea中使用maven打包失败(ps:maven常用到的命令)
查看>>
ARM编译器中预定义的宏
查看>>
几个网站
查看>>
js介绍及内容(1)
查看>>
The Infinite Loop belong to loop statement
查看>>