| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 570 人关注过本帖
标题:java 单链表问题
取消只看楼主 加入收藏
so_closely
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-7-20
结帖率:100%
收藏
 问题点数:0 回复次数:0 
java 单链表问题
这个程序怎么看啊?
比如head一开始为{1,4,5,6,6,7,4,3,7}
然后调用  getMiddleOfList 之后返回值是什么,
调用mergeList时里面有个迭代的过程,有谁能讲一下每次迭代的结果,具体拆分的结果
用的是归并排序的方法,怎么知道这个算法复杂度?
我想写个主函数调用sortList函数,可是在定义ListNode类型的变量出错

public class leetCode148 {
   
 // Definition for singly-linked list.
      public class ListNode {
        int val;
        ListNode next;
        ListNode(int x) { val = x; }
      }

         public static void main(String[] args) {
        // TODO Auto-generated method stub
        //下一行出错,为什么?我想定义一串ListNode类型的变量,值为{1,4,5,5,5,4,3,7,6},如何做?
        ListNode test1=new ListNode(0);
        ListNode result=sortList(test1);
        System.out.println(result);
        

    }
    public static  ListNode sortList(ListNode head) {
        if(head==null ||head.next==null)
            return head;
        ListNode middle=getMiddleOfList(head);
        ListNode next=middle.next;
        middle.next=null;
        return mergeList(sortList(head),sortList(next));
    }
   
    public static ListNode getMiddleOfList(ListNode head) {
        ListNode slow=head;
        ListNode fast=head;
        while( fast.next!=null && fast.next.next!=null){
            slow=slow.next;
            fast=fast.next.next;
        }
        return slow;
    }
   
    public static  ListNode mergeList(ListNode a ,ListNode b ){
        //这一行为何出错
        ListNode dummyNode=new ListNode(-1);
        ListNode curr=dummyNode;
        while(a!=null && b!=null){
            if(a.val<b.val){
                curr.next=a;
                a=a.next;
            }
            else{
                curr.next=b;
                b=b.next;
            }
            curr=curr.next;
        }
        curr.next=a!=null?a:b;
        return dummyNode.next;
    }
}
搜索更多相关主题的帖子: public java 
2015-09-29 20:36
快速回复:java 单链表问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034001 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved