题解 | #链表中的节点每k个一组翻转#

链表中的节点每k个一组翻转

https://www.nowcoder.com/practice/b49c3dc907814e9bbfa8437c251b028e

好耶i简简单单  递归永远的神!!!!!!!!!!!!!
    public ListNode reverseKGroup (ListNode headint k) {
        // write code here
int j=1;
 ListNode c=head;
        if (head == null || k == 1 ||head.next==null) {
            return head;
        }
//每组进行存入  ps:不足的的正序输出
        Stack<ListNodestack = new Stack<>();
        for (int i = 0; i < k; i++) {
           
                stack.push(head);
                // System.out.print(i);
                // System.out.print("&"+head.next.val);
            if (head.next == null) {
                head = null;
                break;
            } else {
                // System.out.print(" head***:" + head.val);
                head = head.next;
            }
        j++;
        }

// ps:不足的的正序输出 这里进行输出
if(j<k)return c;

        ListNode nex = stack.peek(), tem, top = nex;
        //nex =2
        //nex获取表头   tem进行排序
        int m =0;
        while (!stack.empty()) {

            tem = stack.pop();
            //  System.out.print("  tem:   "+tem.val);
            // System.out.print(tem.val);
            // stack.empty()==null?tem.next=stack.peek():tem.next=null;
            if (!stack.empty()) {

                tem.next = stack.peek();

            }
         
            else {
                // System.out.print("   nex:"+nex.val);
                // System.out.print("  head:"+head);
                tem.next = reverseKGroup(head, k);
            }
        }
        //    System.out.print(" top:"+top.val);
        return top;

    }
}

#递归解码剩下的字符串returndecodesxtimessubsz1#
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务