zoukankan      html  css  js  c++  java
  • Odd Even Linked List

    1. Title

    328. Odd Even Linked List

    2. Http address

    https://leetcode.com/problems/odd-even-linked-list/

    3. The question

    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.

    4 My code(AC)

    /**
     * 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) {
            
            if (head == null)
                return head;
            if (head.next == null || head.next.next == null)
                return head;
            ListNode fisrt = head;
            ListNode second = head.next;
            ListNode cur = second.next;
            ListNode fisrtTail = fisrt;
            ListNode secondTail = second;
            boolean nextIsFirst = true;
            while(cur !=null)
            {
                if( nextIsFirst)
                {
                    fisrtTail.next = cur;
                    fisrtTail = cur;
                }else{
                    secondTail.next = cur;
                    secondTail = cur;
                }
                nextIsFirst = (!nextIsFirst);
                cur = cur.next;
            }
            fisrtTail.next = second;
            secondTail.next = null;
            return fisrt;
        
        }
    }
  • 相关阅读:
    runtime-给系统已有类添加属性
    解决自定义leftBarButtonItem返回手势失效的方法
    类和对象
    内存拷贝
    响应者链
    属性
    懒加载
    封装思想
    屏幕旋转
    block
  • 原文地址:https://www.cnblogs.com/ordili/p/5509541.html
Copyright © 2011-2022 走看看