当前位置: 首页 > news >正文

做网站一定要买服务器么app拉新推广代理平台

做网站一定要买服务器么,app拉新推广代理平台,WordPress网络管理功能,做服务的网站起名一、题目 已知一个链表的头部head,每k个结点为一组,按组翻转。要求返回翻转后的头部 k是一个正整数,它的值小于等于链表长度。如果节点总数不是k的整数倍,则剩余的结点保留原来的顺序。示例如下: (要求不…

一、题目

        已知一个链表的头部head,每k个结点为一组,按组翻转。要求返回翻转后的头部

k是一个正整数,它的值小于等于链表长度。如果节点总数不是k的整数倍,则剩余的结点保留原来的顺序。示例如下:

(要求不可以仅仅改变节点内部的值,而是真正的交换节点)

二、解题思路

        1.首先每次检查剩余未翻转的节点是否满足k个,如果不满足,则直接返回。

        2.如果满足k个,将其取出,写一个独立函数对其翻转,并返回翻转后的头尾指针

        3.再根据头尾指针,将子表连接回原表中,继续往下重复步骤1。

(注意:在取出子表之前,需保存好它在原表中的头尾指针,这样翻转后才能连接回原表)

三、代码

#include <iostream>using namespace std;struct ListNode {int val;ListNode* next;ListNode() : val(0), next(nullptr) {}ListNode(int x) : val(x), next(nullptr) {}ListNode(int x, ListNode* next) : val(x), next(next) {}
};//展示链表节点顺序
void showList(ListNode* head) {bool first = true;while (head) {if (first) {first = false;cout << head->val;} else {cout << " -> " << head->val;}head = head->next;}cout << endl;
}//创造链表
ListNode* createList(int count) {ListNode* head = new ListNode(1);ListNode* p = head;for (int i = 2; i <= count; i++) {p->next = new ListNode(i);p = p->next;}p->next = nullptr;return head;
}//翻转链表,并返回头尾
pair<ListNode*, ListNode*> myReverse(ListNode* head, ListNode* tail) {ListNode* prev = tail->next;ListNode* p = head;while (prev != tail) {ListNode* next = p->next;p->next = prev;prev = p;p = next;}return { tail, head };
}//按k个为一组翻转链表
ListNode* reverseKGroup(ListNode* head, int k) {//做一个头节点ListNode* hair = new ListNode(0);hair->next = head;ListNode* pre = hair;while (head != nullptr) {ListNode* tail = pre;//判断剩余节点是否够k个for (int i = 0; i < k; i++) {tail = tail->next;if (!tail) {return hair->next;}}ListNode* next = tail->next;pair<ListNode*, ListNode*> res = myReverse(head, tail);head = res.first;tail = res.second;//将翻转后的子链表接回去pre->next = head;tail->next = next;//准备下一组翻转pre = tail;head = tail->next;}return hair->next;
}//主函数
int main() {ListNode* head = createList(5);cout << "Before reverse by 2 : " << endl;showList(head);//按2个为一组翻转链表ListNode* rev_head = reverseKGroup(head, 2);cout << endl << endl;cout << "Before reverse by 2 : " << endl;showList(rev_head);return 0;
}

四、执行结果

http://www.dt0577.cn/news/34499.html

相关文章:

  • 制作网站的公司做网站去哪里找刚刚济南发通知
  • 做网站手机版和电脑版怎么区分有人看片吗免费的
  • 代做道路毕业设计网站重庆森林影评
  • 微网站和小程序的区别东莞公司网上推广
  • 网站seo搜索引擎优化案例网站免费网站免费优化优化
  • 网站怎么做百度关键字搜索环球贸易网
  • 网站建设 电子商务网站开发搜狗引擎搜索
  • 网站建设及推广方案ppt百度浏览器官网
  • 重庆互联网网站建设软文范例100字以内
  • 网页制作基础教程慕课版电子版站长之家seo工具包
  • 用手机做免费自助网站营销策划运营培训机构
  • 建博会广州网站万能优化大师下载
  • 电子商务网站设计岗位主要是?百度识图查另一半情头
  • 国外做饮料视频网站真实的网站制作
  • 做一个答疑网站口碑营销的主要手段有哪些
  • 中国企业网官方网站查询线上推广是做什么的
  • 武威做网站的公司一件代发48个货源网站
  • 河北省建设机械协会官方网站首页百度指数排名明星
  • seo综合查询平台官网seo优化快速排名技术
  • 教育局建设网站的必要性哪个公司的网站制作
  • 可以注册的网站营销软件网
  • 临沂做公司网站免费培训seo网站
  • 福建网站备案百度seo价格
  • 湖南人文科技学院录取查询太原seo外包公司
  • 定制一个网站多少钱最近的头条新闻
  • 网站后台程序开发教程公司想做个网站怎么办
  • 网站交互方式佛山快速排名seo
  • 创建网站主题在哪里app推广员好做吗
  • 郑州高端网站建设app注册推广
  • wordpress优酷缩略图杭州网站优化服务