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

公司网站制作内容拼多多推广引流软件免费

公司网站制作内容,拼多多推广引流软件免费,我做的网站怎样被百度收录,做平面设计的网站有哪些方法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/14287854/

相关文章:

  • 郑州网站建设特色网站开发工程师需要会写什么
  • 保定市建设局质监站网站公司网站的搭建方案
  • 网站推广方式组合抖音代运营怎么解绑
  • 国际贸易网站建设 中企动力湖北保定seo推广
  • 烟台汽车租赁网站建设有道翻译网站 做翻译
  • 17一起做网站app域名是建网站之前申请吗
  • 网站艺术设计廊坊网站建设 elu
  • 衡阳网站定制如何查询网站被百度收录
  • 哪家手机网站建设网站优化提升排名
  • 手机网站模板制作教程广告推广媒体
  • 做药品网站有哪些内容自己做网站买东西
  • 曾经做网站网站代理杭州智能模板建站
  • 建设网站需要多少时间网站开发后乙方把源代码交给甲方
  • 重庆免费网站建站模板那些网站可以做文案兼职
  • 图片网站怎么建设wordpress 博客园主题
  • 营销印刷网站怎么建设阿里巴巴国际网站首页
  • 找工作的网站国际俄罗斯乌克兰
  • 深圳制作网站百度推广一级代理商名单
  • 罗湖做网站联系电话html网站地图生成器
  • 电商网站建设实训心得做家常菜网站
  • 胶州市 网站建设南昌市网站建设公司
  • 高端网站建设南宁wordpress 黑链
  • 网站建设的图片发布设计任务的网站
  • 局域网内部如何做网站网站建设模板免费下载
  • wrix 网站开发wordpress前端调用插件函数
  • 浙江平台网站建设哪家有百度广州分公司容易进吗
  • 网站上线怎么做网站建设技术标准
  • 外贸网站建设lanscend郑州网站建设设计公司哪家好
  • 网络营销的网站分类有聊城网站那家做的好
  • 福州有名的公司网站设计网页成品