博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode sort list (已经AC)
阅读量:4230 次
发布时间:2019-05-26

本文共 1313 字,大约阅读时间需要 4 分钟。

leetcode sortlist  把链表进行排序 用归并排序即可

在好多博客上发现代码是错误的也贴出来  while里的判定条件是三个 那些两个条件的 我都不懂你们是怎么过的。。

public static ListNode sortList(ListNode head) {     if (head==null || head.next==null)         return  head;        ListNode fast=head;        ListNode slow=head;        while (fast.next!=null && fast.next.next!=null ){            slow=slow.next;            fast=fast.next.next;        }        ListNode head2= slow.next;        slow.next=null;         ListNode l1=sortList(head);         ListNode l2=sortList(head2);         return  mergeTwo(l1,l2);    }    public static ListNode mergeTwo(ListNode list1,ListNode list2){        ListNode result = new ListNode(0);        ListNode p=result;        while (list1!=null && list2 !=null ){            if (list1.val<=list2.val){                p.next=list1;                list1=list1.next;                p=p.next;            }else{                p.next=list2;                list2=list2.next;                p=p.next;            }        }        while(list1 !=null){            p.next=list1;            list1=list1.next;            p=p.next;        }        while(list2 !=null){            p.next=list2;            list2=list2.next;            p=p.next;        }        return  result.next;    }
在网上寻找好的方法时发现,基本都是抄的,错的也抄的那么起劲,网上前几个博客 代码明显有问题,while的判定条件必须加上红色标注,希望那些人不要坑人了。。

转载地址:http://wvdqi.baihongyu.com/

你可能感兴趣的文章
友元函数和友元类
查看>>
深入探讨MFC消息循环和消息泵
查看>>
WinCE开发工具收集
查看>>
LPCTSTR、LPTSTR、_T和CString几种类型的区别
查看>>
VC++中进程间相互通信的十一种方法
查看>>
MFC程序的生死因果
查看>>
VC++ ADO数据库 FlexGrid控件
查看>>
VC用法汇总
查看>>
CString常用方法小结
查看>>
标准MFC WinSock ActiveX控件开发实例
查看>>
DLL+ ActiveX控件+WEB页面调用例子
查看>>
VC中一些控件的小技巧
查看>>
一个好友的收藏。小洪(洪承煜),不打招呼就转载一下罗,呵呵
查看>>
面试必问的16个经典问题的回答思路
查看>>
丹阳买眼镜攻略1
查看>>
ubuntu安装与删除软件的命令
查看>>
单片机指令大全(精简)
查看>>
MCS-51单片机的指令时序
查看>>
51单片机总线时序
查看>>
USB学习
查看>>