链表的奇偶重排

链表的奇偶重排

http://www.nowcoder.com/questionTerminal/02bf49ea45cd486daa031614f9bd6fc3

这道题奇偶链表,想不超时,循环中不能有运算操作。
这边采用分离链表的思路,定义四个指针,分别指向 奇数链表 头尾 偶数链表 头尾
最后拼接即可

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 * }
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param head ListNode类 
     * @return ListNode类
     */
    public ListNode oddEvenList (ListNode head) {
        // write code here
        //奇数链表头尾
        ListNode head1=head;
        ListNode tail1=head;
        //偶数链表头尾
        ListNode head2=head.next;
        ListNode tail2=head.next;
        if(head.next==null){
            return head1;
        }
        ListNode index=head.next.next;
        if(head.next==null){
            return head1;
        }

        while(tail2.next!=null&&tail2.next.next!=null){

            tail1.next=tail2.next;
            tail2.next=tail2.next.next;
            tail2=tail2.next;
            tail1=tail1.next;
        }
        if(tail2.next!=null){
            tail1.next=tail2.next;
            tail1=tail1.next;
            tail2.next=null;
        }


        tail1.next=head2;
        return head1;

    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
不是你先问的我吗!
Smiley_W:底薪是多少?薪资构成是怎样的?(底薪+绩效+提成?) 是否有年终奖/季度奖?发放标准和比例如何? 五险一金的缴纳基数和比例是多少?(是否按实际工资缴纳?) 薪资是税前还是税后?是否有其他补贴(餐补、交通补、住房补等)? 调薪机制是怎样的?(每年有固定调薪吗?依据什么标准?) 工作时间是几点到几点?是否弹性打卡? 是否需要加班?加班频率如何?是否有加班费或调休? 周末和节假日是否正常休息?是否有轮班或值班制度? 年假、病假等假期如何规定?请假流程是否复杂? 是否有明确的KPI或考核标准?考核周期是多长? 公司目前的发展阶段和未来规划是什么? 是否有裁员或业务调整的风险?近期人员流动性如何? 入职后是否有试用期?试用期时长和薪资如何? 是否需要签竞业协议或保密协议? 文案自取
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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