zoukankan      html  css  js  c++  java
  • reorder-list

    代码:

    package com.niuke.p8;
    /**
     * reorder-list
     * @author Administrator
     *
     */
    public class Solution {
        public void reorderList(ListNode head) {
            if(head == null || head.next == null) {
                return;
            }
            
            //快慢指针
            ListNode fast = head;
            ListNode slow = head;
            while(fast.next != null && fast.next.next != null) {
                fast = fast.next.next;
                slow = slow.next;
            }
            
            //拆分链表,并且反转中间节点之后的链表
            ListNode after = slow.next;
            slow.next = null;
            ListNode pre = null;
            while(after != null) {
                ListNode temp = after.next;
                after.next = pre;
                pre = after;
                after = temp;
            }
            //两个链表合并
            ListNode first = head;
            after = pre;
            while(first != null && after != null) {
                ListNode ftemp = first.next;
                ListNode aftemp = after.next;
                first.next =  after;
                first = ftemp;
                after.next = first;
                after = aftemp;
            }
        }
    
    }
  • 相关阅读:
    Dropdown 下拉菜单
    Breadcrumb 面包屑
    Tabs 标签页
    NavMenu 导航菜单
    Notification 通知
    MessageBox 弹框
    Message 消息提示
    Loading 加载
    Alert 警告
    Badge 标记
  • 原文地址:https://www.cnblogs.com/LoganChen/p/13028972.html
Copyright © 2011-2022 走看看