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

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

Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.

k is a positive integer and is less than or equal to the length of the linked list. If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is.

Example:

Given this linked list: 1->2->3->4->5

For k = 2, you should return: 2->1->4->3->5

For k = 3, you should return: 3->2->1->4->5

Note:

  • Only constant extra memory is allowed.
  • You may not alter the values in the list's nodes, only nodes itself may be changed.
 

 

M1: recursive

cur指向head,用cnt计数,先走k步。当走了k步时(即cnt == k),递归,然后反转这一部分的链表

time: O(n), space: O(n)

/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */class Solution {    public ListNode reverseKGroup(ListNode head, int k) {        if(head == null || head.next == null) {            return head;        }        int cnt = 0;        ListNode cur = head;        while(cur != null && cnt < k) {            cur = cur.next;            cnt++;        }                if(cnt == k) {            cur = reverseKGroup(cur, k);            while(cnt-- > 0) {                ListNode next = head.next;                head.next = cur;                cur = head;                head = next;            }            head = cur;        }        return head;    }}

 

转载于:https://www.cnblogs.com/fatttcat/p/10180540.html

你可能感兴趣的文章
Hibernate导出表代码
查看>>
用户输入和while循环
查看>>
keystone验证安装
查看>>
将datatable 保存为 Excel文件(高效率版本)
查看>>
C/C++五大内存分区(转)
查看>>
System V 共享内存区
查看>>
springmvc_1(hello world)
查看>>
0.随笔——读后感
查看>>
Linux基本安全措施、加强系统账号密码安全、系统引导和登录安全、用户切换、su、sudo、grub菜单...
查看>>
StringUtils类方法解析
查看>>
CentOS 6.5下PXE+Kickstart无人值守安装操作系统
查看>>
Nginx ssl/https 配置
查看>>
客户端通过TCP通信分页从服务器获取数据
查看>>
steps of Tie Line Change(Avaya G450)
查看>>
HTTP协议包头分析
查看>>
HNUSTOJ-1600 BCD时钟
查看>>
oracle范围分区表和INTERVAL分区表相互转化
查看>>
防火墙基础:ISA Server 防火墙客户端和Forefront TMG 客户端介绍
查看>>
xtrapivotcontrol 控件用法及相关属性
查看>>
13.MongoDB 连接命令格式
查看>>