文章 2023-06-19 来自:开发者社区

剑指Offer - 面试题7:重构二叉树 (力扣 - 105、从前序与中序遍历序列构造二叉树)

题目输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如:输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树如下图。返回该二叉树的头节点。 3 / \ 9 20 / \ 15 7二叉树定义如下:struct BinaryTreeNode...

剑指Offer - 面试题7:重构二叉树 (力扣 - 105、从前序与中序遍历序列构造二叉树)
文章 2023-02-25 来自:开发者社区

剑指 Offer II 070(力扣540):排序数组中只出现一次的数字(Java二分查找)

一、题目描述给定一个只包含整数的有序数组nums ,每个元素都会出现两次,唯有一个数只会出现一次,请找出这个唯一的数字。你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1)空间复杂度。示例 1:输入: nums = [1,1,2,3,3,4,4,8,8]输出: 2示例 2:输入: nums =  [3,3,7,7,10,11,11]输出: 10提示:1 <= num....

文章 2023-02-25 来自:开发者社区

平衡二叉树(剑指offer55-II 力扣110)Java

一、题目描述输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例 1:给定二叉树 [3,9,20,null,null,15,7]    3   / \  9  20    /  \   15   7返回 true 。示....

文章 2023-02-25 来自:开发者社区

二叉树中和为某一值的路径(剑指offer34 力扣113)Java深度优先遍历

一、题目描述给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[[5,4,11,2],[5,8,4,5]]示例 2:输入:root = [1,....

二叉树中和为某一值的路径(剑指offer34 力扣113)Java深度优先遍历
文章 2023-02-25 来自:开发者社区

数字序列中某一位的数字(剑指offer44 力扣400)Java迭代

一、题目描述数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。示例 1:输入:n = 3输出:3示例 2:输入:n = 11输出:0 限制:0 <= n < 2^31二、思路讲解       &am...

文章 2023-02-25 来自:开发者社区

数组中出现次数超过一半的数字(剑指offer39 力扣169)Java哈希表、排序、摩尔投票

一、题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000二、思路及代码(循序渐进)首先,暴力枚举每个数字,再计算次数的这种方法时间复杂度为O(N^2),显然是行不通的。1、HashMap记....

文章 2023-02-25 来自:开发者社区

1~n整数中1出现的次数(剑指offer43 力扣233)Java

一、题目描述输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。示例 1:输入:n = 12输出:5示例 2:输入:n = 13输出:6 限制:1 <= n < 2^31二、思路讲解       本题采用的思路为,按位逐一找到每一位上1出现的....

文章 2023-02-25 来自:开发者社区

序列化二叉树(剑指offer37 力扣297)Java层序遍历

一、题目描述请实现两个函数,分别用来序列化和反序列化二叉树。你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。提示:输入输出格式与 LeetCode 目前使用的方式一致,详情请参阅 LeetCode 序列化二叉树的格式。你并非必须采取这种方式,你也可以采用其他的方法....

序列化二叉树(剑指offer37 力扣297)Java层序遍历
文章 2023-02-25 来自:开发者社区

复杂链表的复制(剑指offer35 力扣138)java哈希表/原地拼接

一、题目描述请实现 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:输....

文章 2023-02-24 来自:开发者社区

最长不含重复字符的子字符串(剑指offer48、力扣3) Java滑动窗口+动态规划

一、题目描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注