给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
示例 1:
输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1]
示例 2:
输入:head = [1,2] 输出:[2,1]
示例 3:
输入:head = [] 输出:[]
class Solution {
public ListNode reverseList(ListNode head) {
Stack stack=new Stack<>();
while(head!=null){
stack.push(head);
head=head.next;
}
if(stack.isEmpty()) return null;
ListNode node =stack.pop();
ListNode List=node;
while(!stack.isEmpty()){
ListNode tmp=stack.pop();
node.next=tmp;
node=node.next;
}
node.next=null;
return List;
}
}
class Solution {
public ListNode reverseList(ListNode head) {
ListNode newList=null;
while(head!=null){
ListNode tmp=head.next;
head.next=newList;
newList=head;
head=tmp;
}
return newList;
}
}



