您的位置:首页 > 其它

链表奇数元素放在偶数元素前面

2016-12-05 12:17 267 查看
/**
* Definition for singly-linked list.
* public class ListNode {
*     int val;
*     ListNode next;
*     ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode oddEvenList(ListNode head) {
ListNode h = new ListNode(1);
h.next = head;
ListNode firstOdd = h;
ListNode even = head;
while(even != null && even.val % 2 != 0){
firstOdd = even;
even = even.next;
}
if(even == null){
return h.next;
}
ListNode nextOdd = firstOdd.next;
ListNode beforeNextOdd = firstOdd;
while(nextOdd != null){
if(nextOdd.val % 2 != 0){
/*remove*/
beforeNextOdd.next = nextOdd.next;
/*insert*/
nextOdd.next = firstOdd.next;
firstOdd.next = nextOdd;
firstOdd = nextOdd;
nextOdd = beforeNextOdd.next;
}else{
beforeNextOdd = nextOdd;
nextOdd = nextOdd.next;
}
}
return h.next;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐