def reverse_list(head):
prev=None
while head:
nxt=head.next; head.next=prev; prev=head; head=nxt
return prev
public ListNode reverseList(ListNode head){
ListNode prev=null;
while(head!=null){
ListNode nxt=head.next; head.next=prev; prev=head; head=nxt;
} return prev;
}
None is falsy — 'while head' is clean.
def reverse_list(head):
prev=None
while head:
nxt=head.next; head.next=prev; prev=head; head=nxt
return prev
public ListNode reverseList(ListNode head){
ListNode prev=null;
while(head!=null){
ListNode nxt=head.next; head.next=prev; prev=head; head=nxt;
} return prev;
}
1. Reverse pointer 2. Advance both