zoukankan      html  css  js  c++  java
  • leetcode--Reorder List

    Given a singly linked list LL0L1→…→Ln-1Ln,
    reorder it to: L0LnL1Ln-1L2Ln-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){
                ListNode stepOne = head, stepTwo = head;
                while(stepTwo.next != null){
                    if(stepTwo.next != null)
                        stepTwo = stepTwo.next;
                    if(stepTwo.next != null){
                        stepTwo = stepTwo.next;
                        stepOne = stepOne.next;
                    }
                }
                if(stepOne.next != null){
                    stepTwo = stepOne.next;
                    stepOne.next = null;
                    ListNode tailOfSecond = stepTwo;
                    stepOne = stepTwo;
                    if(stepTwo.next != null)
                        stepTwo = stepTwo.next;
                    while(stepTwo.next != null){
                        ListNode temp = stepTwo.next;
                        stepTwo.next = stepOne;
                        stepOne = stepTwo;
                        stepTwo = temp;
                    }
                    stepTwo.next = stepOne;
                    tailOfSecond.next = null;
                }
    
                stepOne = head;
                if(stepTwo != stepOne){
                    while(stepTwo != null){
                        ListNode temp = stepOne.next;
                        stepOne.next = stepTwo;
                        stepOne = stepOne.next;
                        stepTwo = temp;
                    }
                }
            }        
        }
    }
    

      

  • 相关阅读:
    资料
    CSS 折角效果
    CSS3 动画
    选择器--验证表单
    -moz 火狐 -msIE -webkit[chrome safari]
    css3 fileter始终效果 图片渲染
    jquery 库下载地址http://www.jq22.com/jquery-info122
    CSS 文字垂直居中
    图片预加载技术(存在问题,已修复)
    Round#628(div2)
  • 原文地址:https://www.cnblogs.com/averillzheng/p/3552936.html
Copyright © 2011-2022 走看看