数据结构与算法
伍骁辛
这个作者很懒,什么都没留下…
展开
-
LeetCode112.路径总和
/** * LeetCode112.路径总和 * * 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 * * 说明: 叶子节点是指没有子节点的节点。 * * 示例: * 给定如下二叉树,以及目标和 sum = 22, * * 5 * / \ * 4 8 * / / \ * 11 1原创 2020-07-07 15:16:58 · 150 阅读 · 0 评论 -
LeetCode 522. 最长特殊序列 II
/** * 522. 最长特殊序列 II * 给定字符串列表,你需要从它们中找出最长的特殊序列。 * 最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。 * 子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。 * 空序列为所有字符串的子序列,任何字符串为其自身的子序列。 * 输入将是一个字符串列表,输出是最长特殊序列的长度。如果最长特殊序列不存在,返回 -1 。 ...原创 2020-05-15 17:39:25 · 132 阅读 · 0 评论 -
521、最长特殊序列 Ⅰ
/** * 521、最长特殊序列 Ⅰ * 给你两个字符串,请你从这两个字符串中找出最长的特殊序列。 * 「最长特殊序列」定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。 * 子序列 可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。 * 输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。 * *...原创 2020-05-15 11:19:40 · 273 阅读 · 0 评论 -
LeetCode5、最长回文子串
/** * 5、最长回文子串 * * 给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。 * 示例 1: * 输入: "babad" * 输出: "bab" * 注意: "aba" 也是一个有效答案。 * * 示例 2: * 输入: "cbbd" * 输出: "bb" */ /** * 解法 1: 暴力破解 * 暴力求解,列举所有的子串,判断是否为回文串,保存最长的回文串。 */ public boolean原创 2020-05-14 14:56:50 · 88 阅读 · 0 评论 -
LeetCode1297.子串的最大出现次数
题目:给你一个字符串 s ,请你返回满足以下条件且出现次数最大的 任意 子串的出现次数:子串中不同字母的数目必须小于等于 maxLetters 。子串的长度必须大于等于 minSize 且小于等于 maxSize 。示例 1:输入:s = “aababcaab”, maxLetters = 2, minSize = 3, maxSize = 4输出:2解释:子串 “aab” 在原字符...原创 2020-01-17 17:59:43 · 423 阅读 · 0 评论 -
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]func reverseString(_ s: inout [Character]) { ...原创 2020-01-09 16:51:10 · 4930 阅读 · 0 评论 -
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。思路:1、首先两层循环是不可避免的,用来遍历字符串开头和结尾的下标。2、从第一层循环内部来看,实质上是每次找出以当前节点为终点的满足条件的最大长度3、如果在内部循环时发现某节点和当前外层节点字符一样,那么意味着下次可以以这个节点后一个为起点。这一点需要考虑清楚。 func lengthOfLongestSubstring(...原创 2020-01-09 16:48:11 · 222 阅读 · 0 评论 -
LintCode删除排序链表中的重复数字 II - Java
LintCode删除排序链表中的重复数字 II - Java原创 2017-07-19 22:05:51 · 277 阅读 · 0 评论 -
判断一个单链表是否有环,若有环,求进入环中的第一个节点
判断单向链表是否有环,可以采用快指针与慢指针两个指针的方式来解决。即定义一个快指针fast和一个慢指针slow,使得fast每次跳跃两个节点,slow每次跳跃一个节点。如果链表没有环的话,则slow与fast永远不会相遇(这里链表至少有两个节点);如果有环,则fast与slow将会在环中相遇。判断出链表有环以后,则需要算出进入环的第一个节点。原创 2017-07-19 17:23:08 · 1268 阅读 · 1 评论 -
层次遍历二叉树
层次遍历二叉树,即每一层从左到右遍历二叉树,而队列是先进先出的顺序,这里我们使用双端队列实现层次遍历二叉树。原创 2017-07-21 16:14:05 · 491 阅读 · 0 评论