zoukankan      html  css  js  c++  java
  • [LeetCode]143. Reorder List

    这个题是基本技能的一个集合,用到了快慢指针找中点,反转链表和合并链表

    一些链表的拼接过程要熟练

    public void reorderList(ListNode head) {
            /*
            先找到中点,然后反转后部分,然后组合链表
             */
            if (head==null) return;
            //第一步,快慢指针找中点
            ListNode slow = head;
            ListNode fast = head;
            while (fast!=null&&fast.next!=null)
            {
                slow = slow.next;
                fast = fast.next.next;
            }
            ListNode back = slow.next;
            slow.next = null;
            //反转后边
            ListNode pre = null;
            while (back!=null)
            {
                ListNode next = back.next;
                back.next = pre;
                pre = back;
                back = next;
            }
            ListNode res = head;
            //拼接
            while (res!=null&&pre!=null)
            {
                    ListNode t1 = res.next;
                    ListNode t2 = pre.next;
                    res.next = pre;
                    pre.next = t1;
                    pre = t2;
                    res = t1;
            }
        }
  • 相关阅读:
    元素显示v-show
    条件渲染v-if
    v-bind:class
    Class绑定v-bind:class
    设定计算属性setter
    观察属性$watch
    计算属性computed
    过滤器filters
    jk_proxy实现apache+tomcat负载均衡
    (WPF)Storyboard
  • 原文地址:https://www.cnblogs.com/stAr-1/p/8443876.html
Copyright © 2011-2022 走看看