86. Partition List

 1 class Solution {
 2     public ListNode partition(ListNode head, int x) {
 3         ListNode newHead = null;
 4         ListNode node2 = null;
 5         ListNode node1 = head;    
 6         while(node1 != null) {
 7             if(node1.val < x) {
 8                 if(newHead == null) {
 9                     newHead = new ListNode(node1.val);
10                     node2 = newHead;
11                 }else {
12                     node2.next = new ListNode(node1.val);
13                     node2 = node2.next;
14                 }
15                 
16             }
17             node1 = node1.next;
18         }
19         
20         node1 = head;
21         while(node1 != null) {
22             if(node1.val >= x) {
23                 if(newHead == null) {
24                     newHead = new ListNode(node1.val);
25                     node2 = newHead;
26                 }else {
27                     node2.next = new ListNode(node1.val);
28                     node2 = node2.next;
29                 }
30                 
31             }
32             node1 = node1.next;
33         }
34         return newHead;
35         
36     }
37 }

 

posted @ 2018-09-16 10:38  jasoncool1  阅读(105)  评论(0编辑  收藏  举报