学习目标:
- 掌握几种基本的算法结构,实现算法问题解决的基本思维
学习内容:
给你一个字符串 s
,找到 s
中最长的回文子串。
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1:
输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4]
示例 2:
输入:l1 = [], l2 = [] 输出:[]
题解明细:
思路:【链表循环遍历】其实首先想到的还是比较熟悉的循环遍历,通过比较 l1.val
和 l2.val
的大小关系,来控制 l1, l2, cur
指针向后移动。
学习笔记:
开始我的想法是:如果链表1和2都是空,那就返回空。如果一个空,就返回第二个,如果都非空,那就对比大小,链表1拿出最小的和链表2的对比,然后排序,输出,以此类推一个个合并输出。后面了解到这题考察的是使用递归或迭代的方法实现。
思路:
(1)我们可以考虑两个链表头部节点的值,将较小值的节点作为新链表的头节点,然后递归地将较小值节点后面的链表与另一个链表合并。
(2)当其中一个链表为空时,直接返回另一个链表,因为已经没有可以合并的节点了。
学习产出:
- CSDN 技术笔记 1遍
- -CSDN
- leetcode 题目闭环 1个
- - 力扣(LeetCode)