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

石柱网站制作包头seo优化

石柱网站制作,包头seo优化,wordpress 迁站,旅游网站开发 目的及必要性方法1:插入方法进行改进 class Solution {public ListNode sortList(ListNode head) {/*想法#xff1a;设置两个指针first,last分别指向当前有序子链表的头和尾节点#xff1b;并遍历链表#xff0c;当遍历到的节点值大于last的值时#xff0c;就将该节点插入到有序子链表…方法1:插入方法进行改进 class Solution {public ListNode sortList(ListNode head) {/*想法设置两个指针first,last分别指向当前有序子链表的头和尾节点并遍历链表当遍历到的节点值大于last的值时就将该节点插入到有序子链表表尾值小于first时插入到子链表表头处于二者中间时就遍历进行插入*/if(head null)return null;ListNode first head,last head;ListNode p head.next;head.next null;while(p ! null){ListNode temp p.next;if(p.val last.val){//插入表尾last.next p;p.next null;last p;}else if(p.val first.val){//插入表头p.next first;first p;}else{// 遍历进行插入for(ListNode q first;q ! last ;q q.next){if(q.next.val p.val){p.next q.next;q.next p;break;}}} p temp;}return first;} } 方法2:自顶向下的归并排序 归并排序的时间复杂度问题在每一层中进行寻找中间节点有序链表进行两两合并都需要2n,而归并排序总共会进行logn层处理因此最终的时间复杂度就是O(nlogn)。 class Solution {public ListNode sortList(ListNode head) {/*自顶向下的归并排序首先寻找中间节点在利用归并排序将当前需要排序的链表进行两两分别排序最后在通过合并两个有序链表的方式以及递归的方式进行排序。*/if(head null)return null;return sortSubList(head,null);}//将链表进行排序(tail指向)public ListNode sortSubList(ListNode head,ListNode tail){if(head.next null)return head;if(head.next tail){head.next null;return merge(head,tail);}//先找到链表的中间节点ListNode slow head,fast head.next.next;while(fast ! tail){slow slow.next;fast fast.next;if(fast ! tail)fast fast.next;}//将左边的子链表表尾指向空指针右边子链表表尾本就是空指针ListNode subHead2 slow.next;slow.next null;ListNode head1 sortSubList(head,slow);ListNode head2 sortSubList(subHead2,tail);return merge(head1,head2);}//将两个子链表进行排序并合并返回合并后的链表头节点//判断是否到了尾,即是否到了空节点即可public ListNode merge(ListNode head1,ListNode head2){ListNode head new ListNode(-1,null); ListNode temp head,temp1 head1,temp2 head2;while(temp1 ! null temp2 ! null){if(temp1.val temp2.val){temp.next temp1;temp1 temp1.next;}else{temp.next temp2;temp2 temp2.next;}temp temp.next;}while(temp1 ! null){temp.next temp1;temp1 temp1.next;temp temp.next;}while(temp2 ! null){temp.next temp2;temp2 temp2.next;temp temp.next;}return head.next;} } 方法3自底向上的归并排序 class Solution {public ListNode sortList(ListNode head) {/*自顶向下的归并排序首先寻找中间节点在利用归并排序将当前需要排序的链表进行两两分别排序最后在通过合并两个有序链表的方式以及递归的方式进行排序。*/if(head null)return null;//遍历链表获取链表长度int length 0;ListNode p head;while(p ! null){length;p p.next;}ListNode hair new ListNode(-1,head);for(int subLength 1;subLength length;subLength * 2){//开始遍历链表获取子链表并两两合并ListNode pre hair, cur hair.next;while(cur ! null){//获取一个的子链表ListNode head1 cur;for(int i 1;i subLength cur.next !null;i){cur cur.next;}ListNode head2 cur.next;cur.next null;cur head2;//再获取一个子链表for(int i 1;i subLength cur!null;i){cur cur.next;}if(cur ! null){ListNode temp cur.next;cur.next null;cur temp;}ListNode mergeResult merge(head1,head2);//pre指针指向当前两个子链表的前面的一个节点pre.next mergeResult;while(pre.next ! null)pre pre.next;}}return hair.next;}//将两个子链表进行排序并合并返回合并后的链表头节点//判断是否到了尾,即是否到了空节点即可public ListNode merge(ListNode head1,ListNode head2){ListNode head new ListNode(-1,null); ListNode temp head,temp1 head1,temp2 head2;while(temp1 ! null temp2 ! null){if(temp1.val temp2.val){temp.next temp1;temp1 temp1.next;}else{temp.next temp2;temp2 temp2.next;}temp temp.next;}while(temp1 ! null){temp.next temp1;temp1 temp1.next;temp temp.next;}while(temp2 ! null){temp.next temp2;temp2 temp2.next;temp temp.next;}return head.next;} }
http://www.hkea.cn/news/14452645/

相关文章:

  • 做企业网站什么软件好建设厂招工信息网站
  • 做购物微信网站自己做的影视网站买会员违法吗
  • 房地产微网站建设栏目设计行业网站建设策划方案
  • 网站名称是什么seo专员是干嘛的
  • 做俄罗斯生意网站深圳网站设计 建设科技有限公司
  • 什么网站做论坛签名免费自动交易软件app
  • 新洲建设投标网站遵义市官网
  • 旅游网站开发需求文档模板个人建网站步骤
  • 潍坊作风建设年网站基层建设网站
  • 自己做网站最新视频教程it运维平台
  • 郑州的网站建设公司有哪些如何下载网站模版
  • 东莞高端网站建设首页排名网络编程技术基础
  • 网站建设多长时间能学会网站后台培训
  • 美团网站界面设计90设计首页官网详情页
  • 企业建设网站目的是什么net网站建设语言
  • 墨刀可以做网站原型图吗wordpress响应式免费
  • python做网站效率中秋网页制作素材
  • 百顺网站建设辽宁建设工程信息网专家库官网
  • 黄酒的电商网页设计网站做的漂亮的商务网站
  • 一起做网店的网站张家港网站建设培训学校
  • 响应式网站模块东营百姓网
  • 网站备案下来以后怎么做网页如何设计网站
  • 比较好的平面设计网站网页设计作品特色及亮点
  • 荆州大气网站建设价格网站做关键词排名有必要吗
  • 东莞网站建设都用哪个好网站续费协议
  • 注册一个网站域名一年需要多少钱手机排行榜2022前十名
  • 网站加载速度广东建设企业网站哪家好
  • 网站加速服务如何自己做企业网站
  • 网站目录 index.html久久时间计算网
  • 单位门户网站功能wordpress部分图片