swift 算法 简单43.反转链表

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
 

解法:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     public var val: Int
 *     public var next: ListNode?
 *     public init(_ val: Int) {
 *         self.val = val
 *         self.next = nil
 *     }
 * }
 */
class Solution {
    func reverseList(_ head: ListNode?) -> ListNode? {
                if(head == nil || head!.next == nil){
            return head;
        }
        let  res:ListNode = reverseList(head!.next)!;
        head!.next!.next = head;
        head!.next = nil;
        return res;

    }
}

猜你喜欢

转载自blog.csdn.net/huanglinxiao/article/details/92760819
今日推荐