zoukankan      html  css  js  c++  java
  • Java [Leetcode 328]Odd Even Linked List

    题目描述:

    Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.

    You should try to do it in place. The program should run in O(1) space complexity and O(nodes) time complexity.

    Example:
    Given 1->2->3->4->5->NULL,
    return 1->3->5->2->4->NULL.

    Note:
    The relative order inside both the even and odd groups should remain as it was in the input. 
    The first node is considered odd, the second node even and so on ...

    解题思路:

    设置两个指针,分别指向奇数链和偶数链,遍历整个数据链,如果为奇数位置,则将该数添加到奇数链,否则添加到偶数链。最后将奇数链和偶数链相连接。

    代码如下:

    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    public class Solution {
        public ListNode oddEvenList(ListNode head) {
            int i = 1;
            ListNode cur = null, oddHead = head, evenHead = null, oddCur = oddHead, evenCur = null;
            if(oddHead == null)
            	return head;
            else {
            	evenHead = oddHead.next;
            	evenCur = evenHead;
            }
            if(evenHead == null)
            	return head;
            cur = evenCur.next;	
            while(cur != null){
            	if(i % 2 == 1){
            		oddCur.next = cur;
            		oddCur = cur;
            		cur = cur.next;
            	} else {
            		evenCur.next = cur;
            		evenCur = cur;
            		cur = cur.next;
            	}
            	i++;
            }
            evenCur.next = null;//偶数链的最后数的指向置为null,防止循环链
            oddCur.next = evenHead;
            return oddHead;
        }
    }
    

      

  • 相关阅读:
    Ubuntu中安装XAMPP出错的解决方法
    sudo 后不用输入密码的配置
    javascript鼠标双击时触发事件大全
    PHP空值判断
    40音乐海报的创意例子
    35个令人印象深刻的创意404错误页面设计
    35个高分辨率创意苹果桌面壁纸
    38惊人的HD(高清晰度)壁纸七彩的例子
    25精心设计的联系页面例子
    pgpoolII中对 setsockopt 的利用
  • 原文地址:https://www.cnblogs.com/zihaowang/p/5145025.html
Copyright © 2011-2022 走看看