
算法与数据结构
dnkun
热爱钻研技术,爱编程
展开
-
二叉树重构问题解决
二叉树重构1、 题目描述2、题目分析3、解题的核心思想4、java实现1、 题目描述输入某二叉树的前序遍历和中序遍历的结果,重建改二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如:给出前序遍历preorder = [3,5,7,9,6,10,11]中序遍历inorder = [7,5,9,3,10,6,11]返回的二叉树: 3 / \ 5 6 / \ / \原创 2020-07-23 17:53:55 · 233 阅读 · 0 评论 -
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000
1、问题描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb2、预备知识介绍回文字符串:一个字符串的反序和正序的顺序一致,就说是回文字符串。3、问题分析我们使用一个具体的例子来进行分析 ...原创 2019-08-01 16:07:36 · 3936 阅读 · 0 评论 -
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所...原创 2019-08-08 15:36:44 · 3170 阅读 · 1 评论 -
排序-堆排序
排序-堆排序排序必备知识什么是大顶堆和小顶堆大顶堆,根节点比左节点和右结点都大(用作升序排序)小顶堆,根节点比左节点和右结点都小(用作降序排序)堆排序的思想根据是降序或升序排序构建大顶堆还是小顶堆排序思想就是,每次从非空节点下标(i,根据当前未排序长度确定的,i = (未排序长度/2) - 1)开始到下标为0的去构建大顶推或者小顶堆堆构建的过程,我们首先找到该下标得右结...原创 2019-08-18 10:48:58 · 199 阅读 · 0 评论