算法
initiallysunny
欢迎关注公众号:Golang小白一起学
展开
-
【算法】剑指 Offer 35. 复杂链表的复制
请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1: 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]] 输出:[[7,null],[13,0],[11,4],[10,2],[1,0]] 示例 2: 输入:head = [[1,1],[2,1]] 输出:[[1,1],[2,1]] 示例 3: 输.原创 2020-06-22 17:55:50 · 302 阅读 · 0 评论 -
【算法】剑指 Offer 26. 树的子结构 和 面试题 04.10. 检查子树
输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 给定的树 A: 3 / \ 4 5 / \ 1 2 给定的树 B: 4 / 1 代码: func isSubStructure(A *TreeNode, B *TreeNode) bool { return (A != nil && B != nil) && ...原创 2020-06-19 20:27:44 · 262 阅读 · 0 评论 -
【算法】剑指 Offer 34. 二叉树中和为某一值的路径
输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。 示例: 给定如下二叉树,以及目标和sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1 返回: [ [5,4,11,2], [...原创 2020-06-19 20:13:36 · 163 阅读 · 0 评论 -
【算法】面试题56 - I. 数组中数字出现的次数
题目描述: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1: 输入:nums = [4,1,4,6] 输出:[1,6] 或 [6,1] 示例 2: 输入:nums = [1,2,10,4,1,4,3,3] 输出:[2,10] 或 [10,2] *限制:2 <= nums <= 10000 先考虑上述问题的简单版本:一个数组里面只有一...原创 2020-06-18 19:57:59 · 209 阅读 · 0 评论