赞
踩
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; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。