
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 · 160 阅读 · 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 = 3 5 / 3 6 / \ 2 4 / 1 输出: 4 思路:第k大节点,指的就是在二叉搜索树出,找出大小排行第k的节点元素,然后输出 二叉搜索树,遍历方式,先序,中序,后续,其中中序遍历得出..原创 2020-12-15 09:16:51 · 164 阅读 · 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 · 227 阅读 · 0 评论 -
leetcode中hash表相关题目
面试题 01.04. 回文排列 给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。 回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。 回文串不一定是字典当中的单词。 示例1: 输入:“tactcoa” 输出:true(排列有"tacocat"、“atcocta”,等等) 解题思路 回文序列:正着读和倒着读都是一样的,也就是正着和倒着的字符是一样的,除了回文中心外,其他字符是成对出现的,只有中间的回文中心是单的。而回文中心的数量是1个。 也就是:正常的回文只有一个字符的数量是.原创 2020-11-16 09:47:48 · 245 阅读 · 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 · 149 阅读 · 0 评论 -
程序员面试金典-面试题 01.02. 判定是否互为字符重排
**题目:**给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 示例 1: 输入: s1 = “abc”, s2 = “bca” 输出: true 示例 2: 输入: s1 = “abc”, s2 = “bad” 输出: false 说明: 0 <= len(s1) <= 100 0 <= len(s2) <= 100 解题思路: 判定字符串重排后,是否与另一个字符串相等,等价于,判定这个字符串的元素在另一个中是否存在。 1原创 2020-09-26 09:03:36 · 181 阅读 · 0 评论 -
面试题 02.06. 回文链表:数组反转和链表反转(头插法)
编写一个函数,检查输入的链表是否是回文的。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 解:什么是回文:正着看和倒着看数据元素都是一样的就是回文,在数组和链表中都有判断是否是回文的题目。 在本题中判断链表是否是回文有多个方法: 1、链表转数组,反转,判相等 2、直接反转链表,在原链表比较,判相等(长度不等|元素不等都表示不等) 3、链表反转一半,判相等(这个方法我现在还不会,比较菜~) 解法1: /** * Defi原创 2020-10-27 09:33:32 · 234 阅读 · 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 · 209 阅读 · 0 评论 -
合并两个有序数组~js实现
**题目:**给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出: [1,2,2,3,5,6] 考察:数组,数组小应原创 2020-09-24 17:43:04 · 1707 阅读 · 0 评论