摘要:1. 题目 2. 解法 思路 这道题的考点是字符串的处理和分割,以及整数的比较。解题思路是: 首先,将两个版本号按照"."分割成字符串数组,这样就可以得到每个修订号的字符串表示。 然后,遍历两个数组,比较每个位置上的修订号。为了方便比较,可以将字符串转换成整数,这样就可以忽略前导零的影响。 如果某个
阅读全文
lotus贵有恒何必三更眠五更起 最无益只怕一日曝十日寒 |
|
随笔分类 - 算法
摘要:1. 题目 2. 解法 思路 这道题的考点是字符串的处理和分割,以及整数的比较。解题思路是: 首先,将两个版本号按照"."分割成字符串数组,这样就可以得到每个修订号的字符串表示。 然后,遍历两个数组,比较每个位置上的修订号。为了方便比较,可以将字符串转换成整数,这样就可以忽略前导零的影响。 如果某个
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/longest-palindromic-substring/description/ 2. 解法 总有三种解法 动态规划、中心扩展和马拉车算法这三种解法。根据网上的资料,我总结了以下几点: 动态规划的思路是用一个二维数组 dp[i
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/string-to-integer-atoi/submissions/428764685/ LeetCode 8 是一道字符串转换整数的题目, 考查的是如何处理各种边界情况和异常输入,比如空格、正负号、非数字字符、溢出等 2. 解
阅读全文
摘要:1. 题目 题目 考查点 这个算法题的考查点是: 字符串的处理,如去除空格,分割单词,拼接字符串等。 双指针的使用,如左右指针,单词边界指针等。 字符串的反转,如整体反转,局部反转等。 2. 解法 思路 这个代码的思路是先去除字符串首尾的空格,然后反转整个字符串,再反转每个单词。这样就可以实现将每个
阅读全文
摘要:1. 题目 2. 解法 3. 总结
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/find-minimum-in-rotated-sorted-array/ 考察点: 这道题的考察点是二分搜索的应用,你需要掌握如何在旋转排序数组中找到最小值,以及如何判断数组是否旋转过。你还需要注意时间复杂度要求是O(log n
阅读全文
摘要:1. 题目 2. 解法 思路:滑动窗口来遍历字符串 大致如下: 定义一个哈希集合和两个指针,分别表示窗口内的字符和窗口的左右边界。 定义一个变量,表示窗口的最大长度,也就是答案。 从左到右遍历字符串,每次移动右指针,把它指向的字符加入到哈希集合中。 如果哈希集合中已经存在这个字符,说明有重复,那么就
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/ 考察点 这道题主要考察的是数组和二分查找的知识点。😊 数组是一种基本的数据结构,可以用来存储多个相同类型的数据,可
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/search-in-rotated-sorted-array/ 考察点 这道题的考察点是二分查找的应用。二分查找是一种在有序数组中查找目标值的高效算法,它的时间复杂度是O(log n)。二分查找的基本思想是,每次比较中间元素和目标
阅读全文
摘要:1. 题目 2. 解法 解答思路 求一棵二叉树的直径,也就是树中任意两个节点之间的最长路径的长度。这条路径可能经过或不经过根节点。路径的长度用边的数量来表示。 解题思路是使用递归函数,对于每个节点,计算它的左子树和右子树的高度, 然后更新一个全局变量 max,使其为 max 和左右子树高度之和的较大
阅读全文
摘要:1. 总结 本期主要讲了 栈和树 两种结构 ,关键字:递归
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/path-sum-iii/ 考察点 这道题的考察点是: 二叉树的遍历,如何使用深度优先搜索或广度优先搜索来访问每个节点。 前缀和的概念,如何利用前缀和来快速计算路径和,以及如何处理负数的情况。 哈希表的使用,如何利用哈希表来存储和
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/delete-node-in-a-bst/ 考察点 这道题的考察点主要是以下几个方面: 二叉搜索树的性质和操作,如何在二叉搜索树中查找、插入和删除节点,以及如何找到节点的后继(或者前驱)。 递归的思想和技巧,如何设计递归函数的参数
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/convert-bst-to-greater-tree/ 考察点 总结一下这个题目的要点: 题目给定一个二叉搜索树,要求把它转换成累加树,即每个节点的值是原来的值加上所有大于它的值之和。 为了实现这个转换,我们需要按照节点值降序遍
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/binary-tree-maximum-path-sum/description/ 路径是指从树中任意节点出发,到达任意节点的序列,不一定经过根节点。路径和是指路径上所有节点的值的和。要求返回任意非空二叉树的最大路径和。 考察点
阅读全文
摘要:1. 题目 https://leetcode.cn/problems/basic-calculator/ 2. 解法 解题思路: 使用两个栈,一个存储数字,一个存储运算符 遍历字符串,如果遇到数字,就将其转换为整数并压入数字栈 如果遇到运算符,就比较其与运算符栈顶的优先级,如果高于或等于栈顶的优先级
阅读全文
摘要:1. 题目 2. 解法 当我们需要对一棵树进行层序遍历时,我们可以使用队列来记录遍历过程。具体实现步骤如下: 首先将根节点入队。 当队列不为空时,取出队首元素,将其值存入结果列表中。 如果该节点有左子节点,则将其左子节点入队。 如果该节点有右子节点,则将其右子节点入队。 重复步骤2-4,直到队列为空
阅读全文
摘要:1. 题目 2. 解法 当我们遍历一棵二叉树时,我们可以按照层序遍历的方式,从上到下、从左到右地遍历每个节点。 而锯齿形层序遍历则是在层序遍历的基础上, 增加了一个规则:对于每一层,如果当前层是从左到右遍历的,则下一层就从右到左遍历;如果当前层是从右到左遍历的,则下一层就从左到右遍历。 这样,我们就
阅读全文
摘要:1. 题目 2. 解法 什么是二叉树的右视图 二叉树的右视图是指从二叉树的右侧看,能够看到的节点的值的序列 例如,给定一个二叉树: 1 / \ 2 3 \ \ 5 4 从右侧看,能够看到的节点的值是 [1, 3, 4],这就是二叉树的右视图。 一种求解二叉树的右视图的方法是使用层序遍历,每次记录每一
阅读全文
|