题解 | #链表中的节点每k个一组翻转#

链表中的节点每k个一组翻转

http://www.nowcoder.com/practice/b49c3dc907814e9bbfa8437c251b028e

Stack,一个指针cur遍历整个链表,一个new head作为最后输出的结果链表表头,一个指针p作为k个结点内部遍历
cur!=null时,cur入栈,cur = cur.next,所以当k个结点入栈了,cur指向第k+1个结点。
当stack.size() == k,
栈非空时,
new had == null时,new head时第一个pop出的结点。new head非空,
p.next = s.pop();
p = p.next;
然后p.next = cur连接上链表下一部分
最后链表长度一开始就比k小的话,new head = 一开始头结点
返回new head

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务