反转单链表的前k个结点
来源:互联网 发布:牵机药 知乎 编辑:程序博客网 时间:2024/06/15 06:34
1 题目及要求
1.1 题目描述
反转单链表的前k个结点
解题思路:
每次将旧链表的头结点指向下一个结点的下一个结点,并把下一个结点掉到最前面。
2 解答
2.1 代码
ListNode *reverse_front_k_node(ListNode *node, int k) { if (!node) return NULL;assert(k>=1);int cnt=0;while(node){++cnt;node=node->next;}if(k>cnt) k=cnt;ListNode *p = node->next;ListNode *newHead = node;for(int i=1;i<k;++i) {node->next = p->next;p->next = newHead;newHead = p;p = node->next;}return newHead;}
阅读全文
0 0
- 反转单链表的前k个结点
- 带头结点的单链表上将后k个结点变换为前k个结点的操作
- 单链表中k个结点一组进行反转
- 带头结点的单链表( 冒泡排序 一次遍历求中间结点的值) 链表 就地反转 倒数第k个结点
- 查找单链表的第k个结点
- 链表中倒数第 K 个结点-反转链表
- 单链表逆置,反转,并查找倒数第K个结点
- 打印单链表的倒数第k个结点
- 删除单链表的倒数第k个结点
- 【C++】返回单链表的第k个结点
- 查找并输出单链表的倒数第k个结点
- 带头结点的单链表和不带头结点的单链表的倒数第K个节点
- 求链表的倒数第K个结点
- 二叉排序树的第k个结点
- 无头单链表第k个结点的删除
- 给定一个字符串和一个整数k,对字符串开头算起的每2k个字符的前k个字符进行反转。 如果还有少于k个字符,则将其全部撤消。 如果小于2k但大于或等于k个字符,则反转前k个字符,
- 单链表的翻转&倒数第K个结点&中间结点&对齐打印
- 链表——按k个结点一组来反转链表
- C语言编程基本规范
- Maven私服
- hdu 1232 畅通工程
- 1003. Emergency (25)
- springMVC中的controller是否是单例
- 反转单链表的前k个结点
- final,finalize,finally的区别
- 排序算法——简单选择排序(Python&Java)
- 【51Nod1463】找朋友
- 数据结构思维 前言
- php 中抽象的方法和抽象类的定义 abstract
- 1004. Counting Leaves (30)
- Java线程池之ThreadPoolExecutor
- 加密