题解 | #链表的奇偶重排#

链表的奇偶重排

https://www.nowcoder.com/practice/02bf49ea45cd486daa031614f9bd6fc3

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) {
        //分别创建一个存奇数位的头节点和一个存偶数位的头节点
        ListNode odd=new ListNode(0);
        ListNode even=new ListNode(0);
        //分别为两个头节点创建一个前驱
        ListNode odd_pre=odd;
        ListNode even_pre=even;
        int  i=1;
        //遍历链表,分别存奇数位和偶数位的节点
        while(head!=null){
            if(i%2==0){
                even_pre.next=new ListNode(head.val);
                even_pre=even_pre.next;
            }else{
                odd_pre.next=new ListNode(head.val);
                odd_pre=odd_pre.next;
            }
            head=head.next;
            i++;
        }
        //奇数链表和偶数链表相连接
        odd_pre.next=even.next;
        return odd.next;
    }
}

全部评论

相关推荐

昨天 14:08
门头沟学院 Java
点赞 评论 收藏
分享
07-03 16:13
嘉应学院 Python
xiaolihuam...:很明显骗子,如果是hr直接约你面试了,哪用得着内推,如果是员工的话,你得多优秀,一线员工直接加你微信,
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务