一、题目内容

image.png

二、题解

解法1:

思路

cur!=null&&cur.next!=null 可能cur是链表最后一个元素

代码

  1. public class Solution {
  2. public ListNode oddEvenList (ListNode head) {
  3. // write code here
  4. if(head == null){
  5. return null;
  6. }
  7. ListNode newHead = new ListNode(-1);
  8. ListNode dummy = newHead;
  9. ListNode cur = head;
  10. while(cur!=null&&cur.next!=null){
  11. newHead.next = new ListNode(cur.val);
  12. cur = cur.next.next;
  13. newHead = newHead.next;
  14. }
  15. if(cur!=null){
  16. newHead.next = new ListNode(cur.val);
  17. newHead = newHead.next;
  18. }
  19. cur = head.next;
  20. while(cur!=null&&cur.next!=null){
  21. newHead.next = new ListNode(cur.val);
  22. cur = cur.next.next;
  23. newHead = newHead.next;
  24. }
  25. if(cur!=null){
  26. newHead.next = new ListNode(cur.val);
  27. newHead = newHead.next;
  28. }
  29. return dummy.next;
  30. }
  31. }