题目是给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。请使用栈的java语言编写代码,每行代码都有注释。
时间: 2023-03-13 16:35:42 浏览: 70
算法-单链表遍历及反转(java)(csdn)————程序.pdf
//初始化栈
Stack<Node> stack = new Stack<Node>();
// 将链表节点依次压入栈中
Node cursor = head;
while(cursor != null){
stack.push(cursor);
cursor = cursor.next;
}
// 将栈中的节点反转放入链表中
head = stack.pop();
cursor = head;
while(!stack.isEmpty()){
cursor.next = stack.pop();
cursor = cursor.next;
}
// 将最后一个节点的next置空
cursor.next = null;
//返回反转后的链表
return head;
阅读全文