当前位置:   article > 正文

14.链表的奇偶重排

链表的奇偶重排

Q:将一个单链表的奇数点位和偶数点位分别放在一起,然后输出
A:借用ArrayList数据结构
1.将链表节点值放到list中
2.取出list中奇数点位节点放到list2中
3.取出list中偶数点位节点放到list2中
4.遍历list2到结果链表中

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 *   public ListNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param head ListNode类 
     * @return ListNode类
     */
    public ListNode oddEvenList (ListNode head) {
        // write code here
        ArrayList<Integer> nums = new ArrayList<>();
        ArrayList<Integer> nums1 = new ArrayList<>();

        while(head!=null) {
            nums.add(head.val);
            head = head.next;
        }
        int len = nums.size();

        for(int i=0; i<len; i=i+2) {
            nums1.add(nums.get(i));
        }
        for(int i=1; i<len; i=i+2) {
            nums1.add(nums.get(i));
        }

        ListNode res = new ListNode(-1);
        ListNode temp = res;
        for (int i=0;i<nums1.size();i++) {
            temp.next = new ListNode(nums1.get(i));
            temp = temp.next;
        }
        return res.next;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/777364
推荐阅读
相关标签
  

闽ICP备14008679号