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

企业建网站设计wordpress 下载主题

企业建网站设计,wordpress 下载主题,西部数码网站管理助手 mysql保存路径,网站建设的主要技术指什么软件一、题目 已知一个链表的头部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.yayakq.cn/news/734492/

相关文章:

  • 2022年网站能用的学做网站格式工厂
  • 不会网站维护可以做吗网建是什么
  • 江西邮电建设工程有限公司网站韩都衣舍网站建设
  • 智慧团建网站登录入口电脑版完美网站建设
  • 网站开发公司流程岳阳网站界面设计
  • 贵阳监理建设网站广告设计论文
  • 网站服务搭建软件工程开发师工资
  • 网站建设移动端是什么意思中国企业500强企业名单
  • 网站设计文案淘宝店标logo在线制作免费
  • 山东教育行业网站建设推荐wordpress改造mip
  • 怎么查看网站是哪个公司建的什么网站做视频最赚钱
  • 一个页面的网站电商网站安全解决方案
  • 做公司网站大概需要多少钱啊公司注册地址在外地却在本地经营
  • 怎样接做网站的活360建筑网简历电话怎么修改
  • 什么网站做招聘收录好招标网官网入口
  • 天津市住房和城乡建设网站网站策划报告
  • 自己可以做一个网站吗装修全包报价明细表2023
  • 潍坊住房和城乡建设局招标网站企业建站要多少钱
  • 临沂网站建设价格wordpress远程保存图片大小
  • 深圳需要做网站的公司有哪些晋江文学城写作网站
  • 上海行业网站建设wordpress插件路径
  • 营销网站策划方案公司做网站计入什么科目
  • 如何编辑网站源代码自己怎么建立自己的国际网站
  • 中建八局第二建设有限公司百度seo关键词排名推荐
  • 沈阳市住房和城乡建设部网站静态网站建设的PPT
  • 域名买了之后如何建设网站优设网网站
  • 帝国网站seo电子商务网站开发教程
  • 怎么做网站demo和网站签约新闻
  • 徐州智能模板建站宁晋企业做网站
  • 设计个人网站的步骤企业网站建设如何去规划