博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode][JavaScript]Reverse Nodes in k-Group
阅读量:5271 次
发布时间:2019-06-14

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

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.

If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is.

You may not alter the values in the nodes, only nodes itself may be changed.

Only constant memory is allowed.

For 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

 

 


 

 

指针好费劲。

1 /** 2  * Definition for singly-linked list. 3  * function ListNode(val) { 4  *     this.val = val; 5  *     this.next = null; 6  * } 7  */ 8 /** 9  * @param {ListNode} head10  * @param {number} k11  * @return {ListNode}12  */13 var reverseKGroup = function(head, k) {14     var res = new ListNode(-1);15     var resTail = res;16     var h = null, t = null;17     var count = 0;18     while(head){19         if(!h && !t){20             h = t = head;21         }else{22             t = t.next; 23         }  24         head = head.next;  25         count++;   26 27         if(count === k){28             reverse(h, t);29             resTail.next = t;30             resTail = h;31             head = h.next;32             h = t = null;33             count = 0;34         }35     }36     if(count !== 0){37         resTail.next = h;38     }39     return res.next;40 41     function reverse(start, end){42         var head = new ListNode(-1);43         head.next = start;44         start = start.next;45         var tail = head.next;46         var count = 1;47         while(count != k){48             var tmp = start.next;49             start.next = head.next;50             head.next = start;51             start = tmp;52             tail.next = tmp;53             count ++;54         }55     }56 };

 

 

 

 

转载于:https://www.cnblogs.com/Liok3187/p/4539713.html

你可能感兴趣的文章
SWIFT国际资金清算系统
查看>>
Sping注解:注解和含义
查看>>
站立会议第四天
查看>>
如何快速掌握一门技术
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
生成随机数的模板
查看>>
Mysql 数据库操作
查看>>
转:linux终端常用快捷键
查看>>
UVa 11059 最大乘积
查看>>
数组分割问题求两个子数组的和差值的小
查看>>
composer 报 zlib_decode(): data error
查看>>
linux下WPS的使用
查看>>
hdu 3938 并查集
查看>>
instanceof
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
2015/8/4 告别飞思卡尔,抛下包袱上路
查看>>
软件开发与模型
查看>>