ReverseLinkedListII题目描述:给你单链表的头指针head和两个整数left和right,其中left<=right。请将链表节点从左到右反转,并返回反转后的链表。例子见LeetCode官网。来源:LeetCode链接:https://leetcode-cn.com/probl...版权归LeetCode所有。商业转载请联系官方授权,非商业转载请注明出处。方案一:使用栈首先,如果head为null或者head只有一个节点,则直接返回head。否则,声明一个新的头节点newHead,声明一个栈reverseNodes把节点放在左右位置之间(倒序),具体过程如下:遍历head中的节点;一次将左前节点放在新链表中;将left和right之间的节点先入栈reverseNodes;使用rightNode记录右位置后节点的位置;最后,将栈reverseNodes中的节点一次性放入新链表中,然后将rightNode放入新链表的尾部。最后返回newHead.next就是反向链表。importcom.kaesar.leetcode.ListNode;importjava.util.Stack;publicclassLeetCode_092{publicstaticListNodereverseBetween(ListNodehead,intleft,intright){if(head==null||head.next==null){返回头;}//声明一个新的头节点ListNodenewHead=newListNode(-1);ListNodeleftNode=newHead,rightNode=head;//记录左右位置是否传过booleanfindLeft=false,findRight=false;//将左右之间的节点放入栈中Stack
