Java教程

leetcode25 + java

本文主要是介绍leetcode25 + java,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
class Solution {
    public static ListNode reverseKGroup(ListNode head, int k) {
        if(k==1){
            return head;
        }
        ListNode left = new ListNode();
        left = head;
        ListNode right = head;
        ListNode temp;
        int count = 1;
        while(right.next!=null){
            right = right.next;
            count++;
            if(k == count){
                temp = right;
                for(int i=0;i<k/2;i++){
                   //swap(left,left.next,right,right.next);
                    mswap(left,temp);
                    //print(head);
                    left = left.next;
                    temp = left;
                    int t = k - (i+1) * 2 - 1;
                    while(t>0){
                        t--;
                        temp = temp.next;
                    }
                }
                left = right.next;
                count=0;
            }

        }
        return head;
    }
    public static void mswap(ListNode a,ListNode b){
        int temp = a.val;
        a.val = b.val;
        b.val = temp;
    }

}
这篇关于leetcode25 + java的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!