给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 示例 2: 提示: 解题: 官方解答: 1.递归 2.迭代
算法
LeetCode 100 相同的树
给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 示例 2: 示例 3: 提示: 解题: 官方解答: 1.深度优先搜索 2.广度优先搜索
LeetCode 99 恢复二叉搜索树
给你二叉搜索树的根节点 root ,该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树 。 示例 1: 示例 2: 提示: 进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用 O(1) 空间的解决方案吗? 解题: 官方解答: 1.显式中序遍历 2.隐式中序遍历 3.Morris 中序遍历
LeetCode 98 验证二叉树
LeetCode 97 交错字符串
给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: 注意:a + b 意味着字符串 a 和 b 连接。 示例 1: 示例 2: 示例 3: 提示: 进阶:您能否仅使用 O(s2.length) 额外的内存空间来解决它? 解题: 官方解答: 1.动态规划 使用滚动数组优化空间复杂度
LeetCode 96 不同的二叉搜索树
给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 示例 2: 提示: 解题: 结果超时了。。。 官方解答: 1.动态规划 2.数学
LeetCode 95 不同的二叉搜索树 II
给你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树 。可以按 任意顺序 返回答案。 示例 1: 示例 2: 提示: 解题: 官方解答: 1.回溯
LeetCode 94 二叉树的中序遍历
LeetCode 93 复原 IP 地址
有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:”0.1.2.201″ 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、”192.168.1.312″ 和 “192.168@1.1” 是 无效 IP 地址。给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。 示例 1: 示例 2: 示例 3: 提示: 解题: 官方解答: 1.回溯 做了两个多小时,比官方速度快,值了
LeetCode 92 反转链表 II
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 示例 1: 示例 2: 提示: 进阶: 你可以使用一趟扫描完成反转吗? 解题: 官方解答: 1.穿针引线 2.一次遍历「穿针引线」反转链表(头插法)