- 博客(172)
- 收藏
- 关注
原创 从前序与中序遍历序列构造二叉树
输入: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]输入: preorder = [-1], inorder = [-1]输出: [3,9,20,null,null,15,7],请构造二叉树并返回其根节点。
2023-09-16 11:04:28 112
原创 字符串转换整数 (atoi)
将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。如果没有读入数字,则整数为。第 2 步:"4193 with words"(当前没有读入字符,因为这里不存在 '-' 或者 '+')由于 "-42" 在范围 [-231, 231 - 1] 内,最终结果为 -42。第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:" -42"(读入 '-' 字符,所以结果应该是负数)第 3 步:" -42"(读入 "42")
2023-09-13 10:49:40 125
原创 两数之和问题
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。输入:nums = [3,3], target = 6。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。
2023-09-12 15:20:43 168
原创 电话号码的字母组合
输出:["ad","ae","af","bd","be","bf","cd","ce","cf"]给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。的字符串,返回所有它能表示的字母组合。输入:digits = "23"输出:["a","b","c"]输入:digits = "2"输入:digits = ""
2023-09-11 09:48:41 91
原创 组合总和 II
输入: candidates = [10,1,2,7,6,1,5], target = 8,输入: candidates = [2,5,2,1,2], target = 5,中的每个数字在每个组合中只能使用。给定一个候选人编号的集合。中所有可以使数字和为。解集不能包含重复的组合。
2023-09-10 17:16:19 60
原创 外观数列问题
然后对于每个组,先描述字符的数量,然后描述字符,形成一个描述组。countAndSay(4) = 读 "21" = 一 个 2 + 一 个 1 = "12" + "11" = "1211"描述前一项,这个数是 1211 即 “ 一 个 1 + 一 个 2 + 二 个 1 ” ,记作 "111221"描述前一项,这个数是 21 即 “ 一 个 2 + 一 个 1 ” ,记作 "1211"描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 "11"的描述,然后转换成另一个数字字符串。
2023-09-10 09:51:32 382
原创 字符串相加
输入:num1 = "11", num2 = "123"输入:num1 = "456", num2 = "77"输入:num1 = "0", num2 = "0"你不能使用任何內建的用于处理大整数的库(比如。), 也不能直接将输入的字符串转换为整数形式。,计算它们的和并同样以字符串形式返回。给定两个字符串形式的非负整数。
2023-09-08 11:00:29 159
原创 下一个排列
就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的。就是将其所有成员以序列或线性顺序排列。输入:nums = [1,2,3]输入:nums = [3,2,1]输入:nums = [1,1,5]不存在一个字典序更大的排列。修改,只允许使用额外常数空间。输出:[1,3,2]输出:[1,2,3]输出:[1,5,1]
2023-09-08 10:22:01 92
原创 分割回文串
输出:[["a","a","b"],["aa","b"]]分割成一些子串,使每个子串都是。是正着读和反着读都一样的字符串。输入:s = "aab"所有可能的分割方案。输入:s = "a"输出:[["a"]]
2023-09-07 18:48:54 87
原创 排序算法问题
给你一个整数数组nums,请你将该数组升序排列。输入:nums = [5,2,3,1]输出:[1,2,3,5]输入:nums = [5,1,1,2,0,0]输出:[0,0,1,1,2,5]
2023-09-03 10:54:13 932
原创 分发糖果问题
解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。解释:你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。请你给每个孩子分发糖果,计算并返回需要准备的。相邻两个孩子评分更高的孩子会获得更多的糖果。输入:ratings = [1,0,2]输入:ratings = [1,2,2]表示每个孩子的评分。
2023-08-31 10:21:04 110
原创 面试题 . 最小K个数
输入: arr = [1,3,5,7,2,4,6,8], k = 4。设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。输出: [1,2,3,4]
2023-08-30 15:15:01 23
原创 面试题. 最小差
输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8},计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差。输出:3,即数值对(11, 8)
2023-08-30 10:54:12 30
原创 面试题. 峰与谷
在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5, 8, 4, 2, 3, 4, 6}中,{8, 6}是峰, {5, 2}是谷。现在给定一个整数数组,将该数组按峰与谷的交替顺序排序。输入: [5, 3, 1, 2, 3]输出: [5, 1, 3, 2, 3]
2023-08-29 10:38:24 50
原创 面试题. 稀疏数组搜索
输入:words = ["at", "", "", "", "ball", "", "", "car", "", "","dad", "", ""], s = "ball"输入: words = ["at", "", "", "", "ball", "", "", "car", "", "","dad", "", ""], s = "ta"有个排好序的字符串数组,其中散布着一些空字符串,编写一种方法,找出给定字符串的位置。说明: 不存在返回-1。
2023-08-28 16:38:45 72
原创 面试题. 无重复字符串的排列组合
输出:["qwe", "qew", "wqe", "weq", "ewq", "eqw"]无重复字符串的排列组合。编写一种方法,计算某字符串的所有排列组合,字符串每个字符均不相同。输出:["ab", "ba"]输入:S = "qwe"输入:S = "ab"
2023-08-28 09:58:00 28
原创 面试题. 搜索旋转数组
给定一个排序后的数组,包含n个整数,但这个数组已被旋转过很多次了,次数不详。请编写代码找出数组中的某个元素,假设数组元素原先是按升序排列的。若有多个相同元素,返回索引值最小的一个。输入: arr = [15, 16, 19, 20, 25, 1, 3, 4, 5, 7, 10, 14], target = 5。输入:arr = [15, 16, 19, 20, 25, 1, 3, 4, 5, 7, 10, 14], target = 11。输出: 8(元素5在该数组中的索引)输出:-1 (没有找到)
2023-08-25 15:26:22 276
原创 面试题. 魔术索引
给定一个有序整数数组,编写一种方法找出魔术索引,若有的话,在数组A中找出一个魔术索引,如果没有,则返回-1。若有多个魔术索引,返回索引值最小的一个。输入:nums = [0, 2, 3, 4, 5]输入:nums = [1, 1, 1]中,有所谓的魔术索引,满足条件。说明: 0下标的元素为0。
2023-08-24 17:41:37 20
原创 面试题. 整数转换
输入:A = 29 (或者0b11101), B = 15(或者0b01111)编写一个函数,确定需要改变几个位才能将整数A转成整数B。输入:A = 1,B = 2。
2023-08-21 11:30:36 21
原创 面试题. 二进制数转字符串
给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。提示:0.1无法被二进制准确表示。输出:"0.101"输出:"ERROR"
2023-08-21 10:43:05 17
原创 面试题. 首个共同祖先
注意:这不一定是二叉搜索树。输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1。输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4。解释: 节点 5 和节点 4 的最近公共祖先是节点 5。因为根据定义最近公共祖先节点可以为节点本身。例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]解释: 节点 5 和节点 1 的最近公共祖先是节点 3。
2023-08-21 09:44:30 38
原创 面试题. 检查平衡性
实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。给定二叉树 [1,2,2,3,3,null,null,4,4]给定二叉树 [3,9,20,null,null,15,7]返回 false。
2023-08-19 10:44:48 72
原创 面试题. 分割链表
输入:head = [1,4,3,2,5,2], x = 3。输入:head = [2,1], x = 2。,请你对链表进行分隔,使得所有。每个分区中各节点的初始相对位置。输出:[1,2,2,4,3,5]给你一个链表的头节点。
2023-08-17 09:43:49 24
原创 面试题. 返回倒数第 k 个节点
实现一种算法,找出单向链表中倒数第 k 个节点。输入: 1->2->3->4->5 和 k = 2。本题相对原题稍作改动。
2023-08-16 11:23:27 41
原创 面试题. 移除重复节点
编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。输入:[1, 2, 3, 3, 2, 1]输入:[1, 1, 1, 1, 2]输出:[1, 2, 3]
2023-08-16 10:51:00 23
原创 面试题. 字符串压缩
若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。输入:"aabcccccaaa"输出:"a2b1c5a3"输入:"abbccd"输出:"abbccd"
2023-08-13 16:09:48 104
原创 面试题. 一次编辑
字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。
2023-08-12 16:52:36 110
原创 面试题. URL化(用字符替换空格)
假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。实现的话,请使用字符数组实现,以便直接在数组上操作。输入:"Mr John Smith ", 13。编写一种方法,将字符串中的空格全部替换为。输入:" ", 5。输出:"Mr%20John%20Smith"输出:"%20%20%20%20%20"
2023-08-11 15:15:28 33
原创 面试题. 判定是否互为字符重排
请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。输入: s1 = "abc", s2 = "bca"输入: s1 = "abc", s2 = "bad"给定两个由小写字母组成的字符串。
2023-08-10 11:54:51 24
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人