0
点赞
收藏
分享

微信扫一扫

LeetCode每日一题(206. 反转链表)

爱我中华8898 2022-05-05 阅读 81

206. 反转链表

java迭代法: 

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        //前指针节点
       ListNode prev = null;
       //当前指针节点
       ListNode curr = head;

       //每次循环,都将当前节点指向它前面的节点,然后当前节点和前节点后移
       while(curr != null){
           //临时节点,暂存当前节点的下一个节点,用于后移
           ListNode nextTemp = curr.next;
           //将当前节点指向它前面的节点
           curr.next = prev;
           //前指针后移
           prev = curr;
           //当前指针后移
           curr = nextTemp;
       }

       return prev;

    }
}
举报

相关推荐

0 条评论