链表奇数元素放在偶数元素前面
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; } }
相关文章推荐
- 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并使奇数之间顺序反转,偶数之间顺序反转
- 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并使奇数之间顺序反转,偶数之间顺序反转(创新工厂涂鸦移动面试题)
- 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并保证奇数之间顺序不变,偶数之间顺序不变。
- 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并保证奇数之间顺序不变,偶数之间顺序不变(创新工场)
- 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并保证奇数之间顺序不变,偶数之间顺序不变(创新工场)
- 将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并使奇数之间顺序反转,偶数之间顺序反转。
- 将链表的所有奇数元素放于偶数元素前面
- 将数组中奇数都放前面,偶数都放在后面
- 将无序数组中的奇数放在偶数前面
- 数组重排序(将所有奇数都放在前面,所有偶数放在后面)的深入分析
- 数组进行奇数和偶数操作 把奇数放在数组前面 偶数放在数组后面
- 一整数数组,将奇数放在前面,偶数放在后面
- 将数组中的奇数放在偶数前面
- 数组重排序(如何将所有奇数都放在所有偶数前面)的深入分析
- 单链表的创建(头插尾插),表长,输出,插入,删除,查找,逆置,分解长两个链表(奇数偶数链表),查找倒数第k个元素,产出相同元素
- 调整链表顺序使奇数位于偶数前面
- 《剑指offer》--- 在O(1)时间内删除链表结点 和 调整数组顺序使得奇数位于偶数前面
- 课堂提问(C语言):输入10个整数到一个数组,将奇数放在数组前面,偶数放在数组后面,然后输出整个数组。
- 调整单链表使得奇数位置的元素位于偶数位置元素之前
- 把数组里面的 奇数 放在 偶数 前面 并排序