public ListNode reverseKGroup(ListNode head, int k) {
        ListNode newHead = new ListNode(-1);
        ListNode node = newHead;
        node.next = head;        // 防止 {1} ，2 这种情况
        Stack<ListNode> s = new Stack<ListNode>();
        while(head != null){
            s.push(head);
            head = head.next;
            if(s.size() == k){
                while(!s.empty()){
                    node.next = s.pop();
                    node = node.next;
                }
                node.next = head;
            }
        }
        return newHead.next;
    }