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

网页设计网站维护百度优化排名软件

网页设计网站维护,百度优化排名软件,私域电商平台排名,营口建网站的公司这道题会联系到前面写的一篇文章----快慢指针相关经典问题。 重排链表 指针法 这道题乍一看,好像有点难处理,但如果仔细观察就会发现,这道题是查找中间节点反转链表链表的合并问题,具体细节有些不同,这个在反装中间链…

这道题会联系到前面写的一篇文章----快慢指针相关经典问题。

重排链表

指针法

这道题乍一看,好像有点难处理,但如果仔细观察就会发现,这道题是查找中间节点+反转链表+链表的合并问题,具体细节有些不同,这个在反装中间链表时,要从中间节点的下一个位置开始反装,具体过程如下。

代码实现:

typedef struct ListNode Node;Node* ReverseList(struct ListNode* head)
{Node* cur = head;Node* n1 = NULL, *n2 = head, *n3 = head->next;while (n2){n2->next = n1;n1 = n2;n2 = n3;if (n3)n3 = n3->next;}return n1;
}Node* MidList(struct ListNode* head)
{Node* fast = head, *slow = head;while (fast && fast->next){slow = slow->next;if(fast)fast = fast->next->next;}return slow;
}void reorderList(struct ListNode* head)
{if (head == NULL || head->next == NULL || head->next->next == NULL){return;}Node* cur = head, *mid = MidList(head);Node* rev = ReverseList(mid->next);mid->next = NULL;Node* tmp1 = cur, *tmp2 = rev;while (cur && rev){tmp1 = cur->next;tmp2 = rev->next;cur->next = rev;cur = tmp1;rev->next = cur;rev = tmp2;}
}

数组法

数组法就是利用数组直接存储每个节点,然后直接插入排序。首先开辟一个类型为struct ListNode*的数组存储每个节点,然后就重排。

这个我们直接上代码

typedef struct ListNode Node;void reorderList(struct ListNode* head)
{//如果是这种情况下,重排的结果与原链表相同,我们直接返回if (head == NULL || head->next == NULL || head->next->next == NULL){return;}//开辟数组Node* arr[40001];Node* cur = head;int n = 0;//存储每个节点的值while(cur){arr[n++] = cur;cur = cur->next;}//开始重排int i = 0, j = n - 1;while (i < j){//直接在原链表中操作,不用担心覆盖问题,因为这些值在数组中均有存储arr[i]->next = arr[j];i++;if (i == j){break;}arr[j]->next = arr[i];j--;}//最后不要忘了把重排后的最后一个位置置为空,防止成环//这里直接置最后i位置的值为空,我们等会画图解释arr[i]->next = NULL;
}

http://www.yayakq.cn/news/739624/

相关文章:

  • 企业网站的分类有哪三种企业做网站建设的好处
  • 电子网站模板网络营销的原理
  • 网上注册公司什么网站怎么建立一个公司网站
  • 深圳设计网站培训学校可植入代码网站开发
  • 网站每天1万ip能收入多少白领兼职做网站
  • 2018江苏省海门市建设局网站模板 wordpress
  • 事业单位网站登录模板电子商务网站建设可行性分析
  • dw做的网站如何上传网站怎么做备份
  • 用照片做的ppt模板下载网站好东莞企业怎么做网站建设
  • 类似k站的网站北京市场调研公司
  • 淄博周村专业网站建设公司四川省城乡与建设厅网站
  • 购物网站免费模板html5单页面网站
  • 购物网站建设所需软件广东建设网 工程信息网站
  • 昆山做网站公司房产网站运营方案
  • 番禺区pc端网站建设网站推广优化c重庆
  • 临安网站开发企业网站运维
  • 福建市建设厅网站网站的后台管理
  • 网上做视频赚钱的网站做网站手机号抓取的公司
  • 卖酒网站排名云南科技公司网站
  • 网站广告位一般多少钱网站怎么做搜索引擎优化、
  • 做网站的目的中国建筑集团网
  • 绵阳网站建设报价锦州做网站多少钱
  • 建设网站论坛wordpress 跳转链接
  • 盐城网站建设代理商视频点播网站开发
  • 自己做本市网站营销策划方案4000字
  • 专业做淘宝网站公司吗免费网站怎么赚钱
  • 网站自适应是什么做的建立网站后怎样收费吗
  • 广西建设工会网站深圳搜索竞价账户托管
  • 有做网站赚钱的吗蜜桃汇免费的wordpress账号
  • 宁波网站开发公司上海市网站设计