leetcode题目
leetcode题目,学习知识,多分享,多交流,争取早日上岸
onebai
这个作者很懒,什么都没留下…
展开
-
242. 有效的字母异位词-排序法和hash表方法
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = “anagram”, t = “nagaram” 输出: true示例 2:输入: s = “rat”, t = “car” 输出: false说明: 你可以假设字符串只包含小写字母。什么是字母异位词?指的是两个字符串相同,但字母的顺序不同。思路1:排序法先判断这两个字符串的长度是否相等,不等,肯定为false,长度相等时,使用sort排序后比较,但是题目给定的是字符串因此需要先.原创 2021-01-21 11:14:02 · 132 阅读 · 0 评论 -
剑指 Offer 54. 二叉搜索树的第k大节点-中序遍历
给定一棵二叉搜索树,请找出其中第k大的节点。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 4示例 2:>输入: root = [5,3,6,2,4,null,null,1], k = 35/ 3 6/ \ 2 4 / 1输出: 4思路:第k大节点,指的就是在二叉搜索树出,找出大小排行第k的节点元素,然后输出二叉搜索树,遍历方式,先序,中序,后续,其中中序遍历得出..原创 2020-12-15 09:16:51 · 134 阅读 · 0 评论 -
leetcode中树相关题目-简单篇
从多年前学习了树之后,就很久都没有看过了,现在都忘记了,下一步在捡起来吧~面试题 04.04. 检查平衡性 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过1。 示例 1:给定二叉树 [3,9,20,null,null,15,7]3 / \ 9 20/ \ 15 7 返回 true 。思路:二叉树是否平衡,指的是节点的左右子树高度差不能大于1.由此可知,需要计算每个节点的左右子树的高度【最容易想到的是递归】,还要原创 2020-12-07 10:09:02 · 194 阅读 · 0 评论 -
leetcode中hash表相关题目
面试题 01.04. 回文排列给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例1:输入:“tactcoa” 输出:true(排列有"tacocat"、“atcocta”,等等)解题思路回文序列:正着读和倒着读都是一样的,也就是正着和倒着的字符是一样的,除了回文中心外,其他字符是成对出现的,只有中间的回文中心是单的。而回文中心的数量是1个。也就是:正常的回文只有一个字符的数量是.原创 2020-11-16 09:47:48 · 216 阅读 · 0 评论 -
leetcode面试题 02.07. 链表相交~js双指针实现
前几天刚刷完判断链表相交的题目,今天就忘记了,而且看到题目叙述那么长,竟然新生恐惧了,哎,心里默念题目叙述越长可用信息越多则越简单。免得再次忘记,在码一遍~题目:给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5原创 2020-11-12 10:49:56 · 124 阅读 · 0 评论 -
程序员面试金典-面试题 01.02. 判定是否互为字符重排
**题目:**给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = “abc”, s2 = “bca”输出: true示例 2:输入: s1 = “abc”, s2 = “bad”输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <= 100解题思路:判定字符串重排后,是否与另一个字符串相等,等价于,判定这个字符串的元素在另一个中是否存在。1原创 2020-09-26 09:03:36 · 152 阅读 · 0 评论 -
面试题 02.06. 回文链表:数组反转和链表反转(头插法)
编写一个函数,检查输入的链表是否是回文的。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true解:什么是回文:正着看和倒着看数据元素都是一样的就是回文,在数组和链表中都有判断是否是回文的题目。在本题中判断链表是否是回文有多个方法:1、链表转数组,反转,判相等2、直接反转链表,在原链表比较,判相等(长度不等|元素不等都表示不等)3、链表反转一半,判相等(这个方法我现在还不会,比较菜~)解法1:/** * Defi原创 2020-10-27 09:33:32 · 207 阅读 · 0 评论 -
leetcode面试题 10.03. 搜索旋转数组,普通方法和二分法
面试题 10.03. 搜索旋转数组搜索旋转数组。给定一个排序后的数组,包含n个整数,但这个数组已被旋转过很多次了,次数不详。请编写代码找出数组中的某个元素,假设数组元素原先是按升序排列的。若有多个相同元素,返回索引值最小的一个。示例1:输入: arr = [15, 16, 19, 20, 25, 1, 3, 4, 5, 7, 10, 14], target = 5输出: 8(元素5在该数组中的索引)示例2:输入:arr = [15, 16, 19, 20, 25, 1, 3, 4, 5, 7,原创 2020-10-16 09:45:14 · 169 阅读 · 0 评论 -
合并两个有序数组~js实现
**题目:**给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出: [1,2,2,3,5,6]考察:数组,数组小应原创 2020-09-24 17:43:04 · 1663 阅读 · 0 评论