
LeetCode
xinxing_Star
这个作者很懒,什么都没留下…
展开
-
LeetCode
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3方法一:递归这个题目要求我们从第一个节点开始两两交换链表中的节点,且要真正的交换节点。算法:从链表的头节点 head 开始递归。每次递归都负责交换一对节点。由 firstNode 和 secondNode 表示要交换的两个节点。下一次递归则是传递的是下一对需原创 2020-06-11 14:55:28 · 119 阅读 · 0 评论 -
LeetCode——对合并后的链表排序
合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6前置知识:合并两个有序链表思路在解决「合并K个排序链表」这个问题之前,我们先来看一个更简单的问题:如何合并两个有序链表?假设链表 aa 和 bb 的长度都是 nn,如何在 O(n)O(n) 的时间代价以及 O(1)O(1)...原创 2020-06-11 11:33:29 · 207 阅读 · 0 评论 -
LeetCode 算法题目——括号的生成
数字 n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]方法一:深度优先遍历我们以 n = 2 为例,画树形结构图。方法是 “做减法”。画图以后,可以分析出的结论:当前左右括号都有大于 00 个可以使用的时候,才产生分支;产生左分支...原创 2020-06-11 10:59:54 · 370 阅读 · 0 评论