zoukankan      html  css  js  c++  java
  • Reverse Nodes in k-Group

    题目

    Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.

    If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is.

    You may not alter the values in the nodes, only nodes itself may be changed.

    Only constant memory is allowed.

    For example,
    Given this linked list: 1->2->3->4->5

    For k = 2, you should return: 2->1->4->3->5

    For k = 3, you should return: 3->2->1->4->5

    方法

    首先推断是否须要反转元素。
    假设须要。採用头插法又一次插入元素。
    	    public ListNode reverseKGroup(ListNode head, int k) {
    	        if(head == null || head.next == null || k == 1){
    	            return head;
    	        }
    	        ListNode first = new ListNode(0);
    	        first.next = head;
    	        ListNode start = first;
    	        ListNode end = first;
    	        ListNode temp = head;
    	        int i = 0;
    	        int flag = 0 ;
    	        while(flag == 0){
    	            
    	            if(i == 0){
    	                ListNode list = temp;
    	                int j = 1;
    	                while(list != null && j < k){
    	                    list = list.next;
    	                    j ++;
    	                }
    	                if(j == k && list != null){
    	                    end = temp;
    	                    temp = temp.next;
    	                    i ++;
    	                }else{
    	                    flag = 1;
    	                }
    
    	            }else{
    	                end.next = temp.next;
    	                temp.next = start.next;
    	                start.next = temp;
    	                if(i == k -1){
    	                    i = 0;
    	                    start = end;
    	                }else{
    	                    i ++;
    	                }
    	                temp = end.next;
    	            }
    	        }
    	        return first.next;
    	    }


  • 相关阅读:
    静静的看twittervision
    MSSQL中的随机函数
    紧张非封闭式开发中
    be my friend
    这个五一
    检讨
    SilverLight,有多少人关心呢?
    并查集模板题P3367 【模板】并查集
    并查集简单介绍
    约数之和模板题
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7053837.html
Copyright © 2011-2022 走看看