递归
Owen_Q
这个作者很懒,什么都没留下…
展开
-
递归法求解面试三大经典链表问题
最近参加了一堆笔试面试模拟试,发现链表题是很多公司面试官所喜欢亲爱的一类题目,手撕链表的题目随处可见。毕竟,链表作为数据结构的基础,十分重要。而链表又恰恰是写代码中很容易出bug的一种数据结构,断链,空指针等各种问题经常让人猝不及防。 这里,我总结了常见的三种最常见的链表题:链表翻转,链表合并,以及基于二叉链表的二叉树翻转。偶然间发现,递归法简直是处理这类问题的一大利器。利用递归法,可以完美避开链表的各大坑点,那么就让我们来试试吧。 二叉树翻转 题意: 轴对称翻转一个二叉树 思路: 这道题简直就原创 2020-08-19 02:36:35 · 729 阅读 · 0 评论 -
LeetCode-143-Reorder List
题目链接 题意: 重构一个单链表,O(1)空间复杂度条件下将链表L1~L2~L3~……~Ln-1~Ln重构为L1~Ln~L2~Ln-1~L3…… 思路: 看似是一个双指针的题,一头一尾两个指针向中间合并。然而题目中的单链表这一数据结构使得尾指针无法向前移动,题目难度瞬间增大。 于是,只能利用链表操作来完成。思路也比较清晰,关键就是链表操作细节点很多。化整为零,可以通过三个小操作来实现这个任务: 1.将单链表一分为二 2.将后半部分链表翻转 3.再将两段链表合并 下面详细来说明这三部分 1原创 2020-08-09 07:56:41 · 157 阅读 · 0 评论