zoukankan      html  css  js  c++  java
  • LeetCode Reorder List

    Given a singly linked list LL0→L1→…→Ln-1→Ln,
    reorder it to: L0→LnL1→Ln-1→L2→Ln-2→…

    You must do this in-place without altering the nodes' values.

    For example,
    Given {1,2,3,4}, reorder it to {1,4,2,3}.

    /**
     * Definition for singly-linked list.
     * class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) {
     *         val = x;
     *         next = null;
     *     }
     * }
     */
    public class Solution {
        public void reorderList(ListNode head) {
            if (head!=null) {
                LinkedList<ListNode> list = new LinkedList<>();
                ListNode temp=head;
        //        list.addLast(temp);
                boolean flag=false;
                while (temp.next!=null) {
                    list.addLast(temp.next);
                    temp=temp.next;
                }
                temp=head;
                while (!list.isEmpty()) {
                    if (flag) {
                        temp.next=list.pollFirst();
                        flag=false;
                    }else {
                        temp.next=list.pollLast();
                        flag=true;
                    }
                    temp=temp.next;
                }
                temp.next=null;
                
            }
        }
    }
  • 相关阅读:
    天兔监控系统安装
    day6
    day5
    day4
    day3
    day2
    day1
    几个重要的Xenomai相关链接
    树莓派GPIO中断驱动程序
    转了一圈,再读LKD
  • 原文地址:https://www.cnblogs.com/birdhack/p/3941929.html
Copyright © 2011-2022 走看看