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

个人网站设计图四川旅游seo整站优化站优化

个人网站设计图,四川旅游seo整站优化站优化,手机网站建设,构建动态网站解法一:(双重循环)第一个循环head,逐步将head的node加入有序列表;第二个循环在有序列表中找到合适的位置,插入node。 /*** Definition for singly-linked list.* public class ListNode {* int val;* …

解法一:(双重循环)第一个循环head,逐步将headnode加入有序列表;第二个循环在有序列表中找到合适的位置,插入node

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode sortList(ListNode head) {// 建立一个头节点ListNode newHead = new ListNode();// 建立辅助指针ListNode pre, curr, temp;// 把第一个node放进去if(head==null){return null;}temp = head.next;newHead.next = head;head.next = null;head = temp;// 循环while(head != null){pre = newHead;curr = newHead.next;while(curr.val<head.val){pre = pre.next;curr = curr.next;if(curr==null){break;}}temp = head.next;head.next = curr;pre.next = head;head = temp;}return newHead.next;}
}

注意:

  • 要在第二个循环内判断curr==null,不能在第二个循环while()中判断。即curr==null的判断要先于curr.val<head.val判断。
  • 在使用head.next之前,要先判断head==null

错误原因:

在这里插入图片描述

解法二:自顶向下归并排序

对链表自顶向下归并排序的过程如下:

  • 找到链表的中点,以中点为分界,将链表拆分成两个子链表。寻找链表的中点可以使用快慢指针的做法,快指针每次移动 2 步,慢指针每次移动 1步,当快指针到达链表末尾时,慢指针指向的链表节点即为链表的中点。
  • 对两个子链表分别排序。
  • 将两个排序后的子链表合并,得到完整的排序后的链表。可以使用「21. 合并两个有序链表」的做法,将两个有序的子链表进行合并。
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode sortList(ListNode head) {return sortList(head, null);}public ListNode sortList(ListNode head, ListNode tail){// 中止条件if(head==null){return null;}if(head.next==tail){head.next=null;return head;}// 设置快慢指针找中点ListNode faster=head, slower=head;while(faster!=tail){faster=faster.next;slower=slower.next;if(faster!=tail){faster=faster.next;}}ListNode mid=slower;ListNode list1=sortList(head,mid);ListNode list2=sortList(mid,tail);// 排序两个有序序列return merge(list1,list2);}public ListNode merge(ListNode list1, ListNode list2) {ListNode new_list=null;if(list1 != null && list2 != null){if(list1.val<=list2.val){new_list=list1;list1=list1.next;new_list.next=null;}else{new_list=list2;list2=list2.next;new_list.next=null;}}else{return list1!=null?list1:list2;}ListNode curr=new_list;while(list1 != null && list2 != null){if(list1.val<=list2.val){ListNode temp = list1.next;curr.next=list1;list1.next=null;list1=temp;}else{ListNode temp = list2.next;curr.next=list2;list2.next=null;list2=temp;}curr=curr.next;}if(list1!=null){curr.next=list1;}if(list2!=null){curr.next=list2;}return new_list;}
}

注意:

  • 中止条件:head==nullhead.next==tail
  • faster走第二步的时候也要判断faster!=tail
http://www.dtcms.com/wzjs/39008.html

相关文章:

  • 网站自己做服务器划算吗肇庆seo外包公司
  • html企业整站模板网站杭州关键词排名提升
  • 网站建设教学视频教程百度打广告多少钱
  • php手机网站如何制作教程晚上必备免费软件大全苹果
  • 做网站备案的问题网络营销策划公司
  • 做h网站外链网站是什么
  • 时尚网站亚洲卫星电视网参数表
  • 摄影网站源码栾城seo整站排名
  • 重庆网站建站建设平台网站查询入口
  • 做智能网站平台百度推广助手
  • 建设020网站需要多少钱江苏企业seo推广
  • 北京做企业网站多少钱企业搜索引擎优化
  • 哈尔滨云建站模板友情链接查询
  • 手机网站模板更改百度推广联系人
  • 做货运代理网站品牌运营策划方案
  • 网站推广appseo教程技术优化搜索引擎
  • 个人网站的网页seo排名赚
  • 将网页加入可信站点蜘蛛seo超级外链工具
  • 微网站需要什么站长工具网站测速
  • 做美食网站的图片大全四年级摘抄一小段新闻
  • wordpress后台非常卡seo外链优化方法
  • 网站源码下载音乐如何让别人在百度上搜到自己公司
  • 合肥网站建设哪家公司好南昌seo网站推广
  • 东莞集团网站建设短视频培训要多少学费
  • 网站建设电话销售说不需要搜索词排行榜
  • wordpress导航站模板成都网站制作设计公司
  • now9999网站提示建设中青岛做网站推广
  • 9.9元包邮网站怎么做亚马逊跨境电商开店流程及费用
  • 网站解析打不开google谷歌搜索引擎入口
  • 最近日本mv字幕免费观看视频搜索引擎关键词优化