东寻

导航

2020年2月22日 #

字符串的排列

摘要: 题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 思路 回溯法 时间复杂度O(n!),空间复杂度O(n)。 代码 笔记 回溯法比较容易想到,问题在于怎么实现从最小子 阅读全文

posted @ 2020-02-22 22:55 东寻 阅读(662) 评论(2) 推荐(0)

二叉搜索树与双向链表

摘要: 题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路 关于树的深度搜索操作,一般都有递归和栈两种实现。 此题对树进行中序遍历,在遍历过程中操作前后两个结点,所以需要pre指针。 时间复杂度O(n),空间复杂度O(1)。 正 阅读全文

posted @ 2020-02-22 20:10 东寻 阅读(223) 评论(0) 推荐(0)

复杂链表的复制

摘要: 题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。 (注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)不能改动原链表 思路 1. 链表操作 时间复杂度O(n),空间复杂度O(1 阅读全文

posted @ 2020-02-22 16:50 东寻 阅读(136) 评论(0) 推荐(0)

二叉树中和为某一值的路径

摘要: 题目描述 输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 思路 回溯法。 时间复杂度O(n),空间复杂度O(n)。 代码 阅读全文

posted @ 2020-02-22 14:26 东寻 阅读(164) 评论(0) 推荐(0)