zoukankan      html  css  js  c++  java
  • 2.4---把链表划分为两部分(CC150)

    注意,题目要求要保持两部分的相对顺序,所以,用交换是不行的。

    import java.util.HashSet;
    import java.util.Set;
    
    class ListNode{
        int val;
        ListNode next;
        ListNode(int x){
            val = x;
        }
    }
    
    public class Solution{
    
        public static void main(String[] args){
            ListNode head = new ListNode(3);
            head.val = 3;
            ListNode node = new ListNode(1);
            node.val = 1;
            head.next = node;
            ListNode tmp = head;
            while(tmp != null){
                System.out.println(tmp.val);
                tmp = tmp.next;
            }
            tmp = partition(head,2);
            System.out.println("delete");
    
            while(tmp != null){
    
                System.out.println(tmp.val);
                tmp = tmp.next;
            }
        }
        public static ListNode partition(ListNode head, int x) {
            //思路:用两个链表记录一下两部分,然后合并
            if(null == head)
                return head;
            ListNode greater = new ListNode(0);//小的
            ListNode smaller = new ListNode(0);//>=
            ListNode tmp1 = greater;
            ListNode tmp2 = smaller;
    
            ListNode tmp = head;
            while(tmp != null)
            {
                if(tmp.val < x)
                {
                    ListNode n = new ListNode(tmp.val);
                    tmp2.next = n;
                    tmp2 = tmp2.next;//error: not write
                }
                else
                {
                    ListNode m = new ListNode(tmp.val);
                    tmp1.next = m;
                    tmp1 = tmp1.next;//error: not write
                }
                tmp = tmp.next;//总是忘记写这一步
            }
            //最后合并
            tmp1.next = null;
            tmp2.next = greater.next;
            return smaller.next;
        }
    }

      

  • 相关阅读:
    SCOI2012 奇怪的游戏
    AHOI2013 差异
    HAOI2018 染色
    HNOI2015 开店
    PKUWC2018 随机游走
    HAOI2015 按位或
    Luogu4859 二项式反演
    CTSC2018 混合果汁
    yii2.0邮件发送问题解决
    yii2.0 elasticsearch模糊查询
  • 原文地址:https://www.cnblogs.com/yueyebigdata/p/5053463.html
Copyright © 2011-2022 走看看