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

定州网站制作昆山市做网站的公司

定州网站制作,昆山市做网站的公司,wordpress套模板教程,html5网站导航这道题会联系到前面写的一篇文章----快慢指针相关经典问题。 重排链表 指针法 这道题乍一看,好像有点难处理,但如果仔细观察就会发现,这道题是查找中间节点反转链表链表的合并问题,具体细节有些不同,这个在反装中间链…

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

重排链表

指针法

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

代码实现:

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/938407/

相关文章:

  • 做网站保证效果制作公司简介宣传片
  • 宿迁建设安全监督站网站北京网站优化快速排名
  • 寮步镇做网站沈阳关键词seo
  • 中国做网站的公司排名网站建设公司 云智互联
  • 网站首页背景代码高级ui设计是什么
  • 广东建设银行招聘网站网站建设费用分类
  • 公路投资建设有限公司网站wordpress用nginx
  • 太原市建设交易中心网站网站搭建详细流程
  • 郑州一建官网上海seo招聘
  • 做啥网站比较好赚钱免费注册个人邮箱申请
  • 没有任何收录的网站做SEM有用吗网站新闻 写法
  • 忒低网站长怎么做西安专业网站开发哪家好
  • 专门做恐怖电影的网站肥乡专业做网站
  • 做网站的公司销售话术网站数据库怎么恢复
  • 漳州城乡建设局网站首页WordPress添加内容评论可见
  • 对企业网站的印象莱芜app下载
  • 网站代码备份手机网站模板 优帮云
  • 泰安网站建设找工作深圳营销网站设计
  • 广东网站开发建设深圳设计公司排名深圳市广告公司
  • 网站架构建设方案semester
  • 昌平网站制作深圳网站建设toolcat
  • 网站布局设计规则清苑区建设网站找那家公司
  • 石家庄建网站php网站建设带数据库模板
  • 做网站开什么端口成都市 网站建设
  • h5响应式企业网站源码网站制作的英文
  • 做中国o2o网站领导外贸多语言网站建设推广
  • 有哪些网站可以做设计竞标网站开发任务概述
  • 简述网站一般建设的流程图做快递单的网站会不会是骗人的
  • 可以做网站的软件上传歌曲wordpress 软件站主题
  • 网站开发工程师中级高级网站开通流程