描述
输入一个链表,反转链表后,输出新链表的表头。
示例1
输入:
{1,2,3}
返回值:
{3,2,1}
方法一:使用栈来解决
import java.util.Stack;
public class Solution {
public ListNode ReverseList(ListNode head) {
Stack<ListNode> stack = new Stack<>();
while(head != null){
stack.push(head);
head = head.next;
}
if(stack.isEmpty())
return null;
ListNode node = stack.pop();
ListNode dummy = node;
while(!stack.isEmpty()){
ListNode tempNode = stack.pop();
node.next = tempNode;
node = node.next;
}
node.next = null;
return dummy;
}
}
这篇博客介绍了一种利用栈来反转链表的方法。通过遍历链表并将节点压入栈中,然后依次从栈中弹出节点构建新的链表,实现了链表的反转。这种方法在Java中实现简洁且易于理解。
838

被折叠的 条评论
为什么被折叠?



