C++
class Solution{
public:
ListNode* reverseList(ListNode* head){
stack<ListNode*> s;
ListNode* temp =head;
while(temp!=NULL){
s.push(temp);
temp=temp->next;
}
ListNode* ans = new ListNode(0);
ListNode* cur=ans;
cout<<"size "<<s.size()<<endl;
while(s.size()){
temp = s.top();
cout<<temp->val<<" ";
s.pop();
cur->next = new ListNode(temp->val);
cur = cur->next;
}
return ans->next;
}
};
Python
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
pre = None
cur = head
while cur:
next = cur.next
cur.next = pre
pre = cur
cur = next
return pre