206反转链表
作者:互联网
1:递归方法
1--》2--》3 到 3--》2--》1返回末尾3节点,3节点next置为2,2节点next置为null;2节点next置为1,1节点next置为null
public ListNode reverseList(ListNode head){
if(head==null||head.next==null){
return head;
}
ListNode p =reverseList(head.next);
head.next.next=head;
head.next=null;
return p;
}
2:遍历直接逐个替换next
借助第三个变量存储原来的下一个next值,便于三个变量之间的置换位置
public ListNode reverseList(ListNode head) {
ListNode pre =null;
ListNode cur =head;
while (cur!=null){
ListNode temp =cur.next;
cur.next=pre;
pre=cur;
cur=temp;
}
return pre;
}
标签:pre,head,ListNode,cur,206,反转,next,链表,null 来源: https://blog.csdn.net/qq_34514046/article/details/122788489