【亡羊补牢】挑战数据结构与算法 第61期 LeetCode 206. 反转链表(链表)

    科技2022-07-15  139

    仰望星空的人,不应该被嘲笑

    题目描述

    反转一个单链表。

    示例:

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

    进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题?

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-linked-list 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    解题思路

    非递归解法

    /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} head * @return {ListNode} */ var reverseList = function(head) { let pre = null; let cur = head; while(cur){ let tmp = cur.next; cur.next = pre; pre = cur; cur = tmp; } return pre; };

    递归解法

    /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} head * @return {ListNode} */ var reverseList = function (head) { let reverse = (pre, cur) => { if (!cur) return pre; let tmp = cur.next; cur.next = pre; return reverse(cur, tmp); } return reverse(null, head); };

    最后

    文章产出不易,还望各位小伙伴们支持一波!

    往期精选:

    小狮子前端の笔记仓库

    leetcode-javascript:LeetCode 力扣的 JavaScript 解题仓库,前端刷题路线(思维导图)

    小伙伴们可以在Issues中提交自己的解题代码,🤝 欢迎Contributing,可打卡刷题,Give a ⭐️ if this project helped you!

    访问超逸の博客,方便小伙伴阅读玩耍~

    学如逆水行舟,不进则退 一百个Chocolate 认证博客专家 博客专家 博客之星 前端开发攻城狮 掘金搜【一百个Chocolate】座右铭:学如逆水行舟,不进则退!公众号:小狮子前端 期待小狮子们的加入~
    Processed: 0.010, SQL: 8