Java实现反转一个单链表,最详细 你绝对可以听懂

2021-01-26 11:49:01 浏览数 (1)

代码语言:javascript复制
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
代码语言:javascript复制
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode curNode=head;
        ListNode preNode=null;
        ListNode tempNode=null;
            while(curNode!=null){
                tempNode=curNode;
                curNode=curNode.next;
                tempNode.next=preNode;
                preNode=tempNode;
                  
            }
            return tempNode;
   
}

非常简单:

只需要讲一个暂时节点指向跟cur当前节点一样即可,让暂时节点反向指向pre上一个节点,更新pre指向cur当前节点,再更新cur当前节点到下一个, 最后把它放到while循环中(只要cur!=null) 即可

0 人点赞