本文主要記錄一下leetcode鏈表之反轉鏈表網絡
定義一個函數,輸入一個鏈表的頭節點,反轉該鏈表並輸出反轉後鏈表的頭節點。 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->NULL 限制: 0 <= 節點個數 <= 5000 來源:力扣(LeetCode) 連接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof 著做權歸領釦網絡全部。商業轉載請聯繫官方受權,非商業轉載請註明出處。
/** * 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 current = head; ListNode previous = null; ListNode next = null; while (current != null) { next = current.next; current.next = previous; previous = current; current = next; } return previous; } }
這裏使用了current、previous、next來保存,初始化的時候previous及next都設置爲null函數