分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

25. Reverse Nodes in k-Group(js)

发布时间:2023-09-06 02:33责任编辑:傅花花关键词:jsNode

25. Reverse Nodes in k-Group

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.

题意:对给定链表每k个节点进行反转一次

代码如下:

/** * Definition for singly-linked list. * function ListNode(val) { * ????this.val = val; * ????this.next = null; * } *//** * @param {ListNode} head * @param {number} k * @return {ListNode} */var reverseKGroup = function(head, k) { ???if(!head || k===1) return head; ???var dummy=new ListNode(-1); ???var pre=dummy,cur=head; ???dummy.next=head; ???var i=0; ???while(cur){ ???????i++; ???????if(i%k===0){ ???????????pre=reverseOneGroup(pre,cur.next); ???????????cur=pre.next; ???????}else{ ???????????cur=cur.next; ???????} ???} ???return dummy.next;};var reverseOneGroup=function(pre,next){ ???var last=pre.next; ???var cur=last.next; ???while(cur!==next){ ???????last.next=cur.next; ???????cur.next=pre.next; ???????pre.next=cur; ???????cur=last.next; ???} ???return last;}

25. Reverse Nodes in k-Group(js)

原文地址:https://www.cnblogs.com/xingguozhiming/p/10387404.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved