码迷,mamicode.com
首页 > 编程语言 > 详细

算法--链表的分化

时间:2017-03-22 21:24:24      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:att   tran   return   ack   subject   isp   center   vertica   pos   

转载请标明出处http://www.cnblogs.com/haozhengfei/p/c4d685012a2e7a9d2a29531f249be630.html 


链表的分化

技术分享
技术分享
技术分享
技术分享
链表的分化练习

第5节 链表的分化练习题

 

对于一个链表,我们需要用一个特定阈值完成对它的分化,使得小于等于这个值的结点移到前面,大于该值的结点在后面,同时保证两类结点内部的位置关系不变。

给定一个链表的头结点head,同时给定阈值val,请返回一个链表,使小于等于它的结点在前,大于等于它的在后,保证结点值不重复。

测试样例:
{1,4,2,5},3
{1,2,4,5}
 
 
1
import java.util.*;
2

3
/*
4
public class ListNode {
5
    int val;
6
    ListNode next = null;
7

8
    ListNode(int val) {
9
        this.val = val;
10
    }
11
}*/
12
public class Divide {
13
    public ListNode listDivide(ListNode head, int val) {
14
        ListNode smallHead = null, smallTail = null;
15
        ListNode bigHead = null, bigTail = null;
16

17
        ListNode next = null;
18
        while (head != null) {
19
            next = head.next;
20
            head.next = null;
21
            if (head.val <= val) {
22
                if (smallHead == null) {
23
                    smallHead = head;
24
                    smallTail = head;
25
                } else {
26
                    smallTail.next = head;
27
                    smallTail = head;
28
                }
29
            } else {
30
                if (bigHead == null) {
31
                    bigHead = head;
32
                    bigTail = head;
33
                } else {
34
                    bigTail.next = head;
35
                    bigTail = head;
36
                }
37
            }
38
            head = next;
39
        }
40
        // 拼接
41
        if (smallTail != null)
42
            smallTail.next = bigHead;
43
        return smallHead == null ? bigHead : smallHead;
44
    }
45
}
 
 
您的代码已保存
答案正确:恭喜!您提交的程序通过了所有的测试用例
 

算法--链表的分化

标签:att   tran   return   ack   subject   isp   center   vertica   pos   

原文地址:http://www.cnblogs.com/haozhengfei/p/c4d685012a2e7a9d2a29531f249be630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!