-
二叉树的前序遍历
二叉树的前序遍历题目描述给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]方法一:递归对于树的遍历来说,递归的方法永远是最简单的。前序遍历:根->左子树->右子树。/** * Definition for a binary tree node. * public class TreeNode { * ...…
-
二叉树的中序遍历
二叉树的中序遍历题目描述给定一个二叉树的根节点 root ,返回它的 中序 遍历。实例1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]方法一:递归/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode ...…
-
合并区间
56. 合并区间题目描述以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。案例1:输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输出:[[1,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].案例2:输入:intervals ...…
-
两个数组的交集 ii
350. 两个数组的交集 II题目描述给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]方法一:哈希表 定义两个哈希表 map...…
-
Z 字形变换
6. Z 字形变换题目描述将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 ...…
-
学习vuejs
学习Vue.js0. ES6补充0.1 var 没有块级作用域 在 if 和 for 中会出错<script> { var name = 'Hello Vue'; console.log(name); } console.log(name);</script><button>按钮1</button><button>按钮2</button><button>按钮3...…
-
万万没想到之聪明的编辑
万万没想到之聪明的编辑题目描述我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径: 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello 上面的规则优...…
-
有效的数独
36. 有效的数独题目描述请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)注意: 一个有效的数独(部分已被填充)不一定是可解的。 只需要根据以上规则,验证已经填入的数字是否有效即可。 空白格用 '.' 表示。示例1:输入:board = [["5","3",".",".",...…
-
左叶子之和
404. 左叶子之和题目描述给定二叉树的根节点 root ,返回所有左叶子之和。示例1:输入: root = [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24示例 2:输入: root = [1]输出: 0方法一:层次遍历一个节点是 左叶子 节点,当前仅当它是某个节点的叶子阶段,且是一个叶子结点的时候。所以对整棵树进行遍历即可,当我们遍历到节点 node 时,如果它的左子节点是一个叶子结点,那么就将它的...…
-
复数乘法
537. 复数乘法题目描述复数 可以用字符串表示,遵循 "实部+虚部i" 的形式,并满足下述条件: 实部 是一个整数,取值范围是 [-100, 100] 虚部 也是一个整数,取值范围是 [-100, 100] i2 == -1给你两个字符串表示的复数 num1 和 num2 ,请你遵循复数表示形式,返回表示它们乘积的字符串。示例1:输入:num1 = "1+1i", num2 = "1+1i"输出:"0+2i"解释:(1 + i) * (1 + i) = 1 + i2 + 2 * i...…