题目67.二进制求和
给你两个二进制字符串,返回它们的和(用二进制表示)。
输入为 非空 字符串且只包含数字 1 和 0。
用例
输入: a = “11”, b = “1”
输出: “100”
输入: a = “1010”, b = “1011”
输出: “10101”
解题思路
- 模拟法:模拟二进制加法的过程
- 解析字符串
代码
1 | class Solution { |
题目面试题 16.18. 模式匹配
你有两个字符串,即pattern和value。 pattern字符串由字母”a”和”b”组成,用于描述字符串中的模式。例如,字符串”catcatgocatgo”匹配模式”aabab”(其中”cat”是”a”,”go”是”b”),该字符串也匹配像”a”、”ab”和”b”这样的模式。但需注意”a”和”b”不能同时表示相同的字符串。编写一个方法判断value字符串是否匹配pattern字符串。
用例
输入: pattern = “abba”, value = “dogcatcatdog”
输出: true
输入: pattern = “abba”, value = “dogcatcatfish”
输出: false
解题思路
基本是暴力匹配,但是可以通过很多条件进行剪枝
代码
1 | class Solution { |
题目124.二叉树中的最大路径和
给定一个非空二叉树,返回其最大路径和。
本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。
解题思路
递归——递归思路如下:
- 以一个结点作为根节点,与其左右结点的最大贡献值之和求和
- 返回根节点与左右节点以及0的最大值的求和作为向上的贡献。
代码
1 | class Solution { |
题目
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。
用例
输入:
s = “aa”
p = “a”
输出: false
输入:
s = “aa”
p = “a*”
输出: true
解题思路
动态规划:状态转移方程
1 | if p[i - 1] != "*": |
代码
1 | class Solution: |
本文作者:
ketsudou
发布时间: 2020-06-23
最后更新: 2020-06-24
本文标题: leetcode-day24
本文链接: http://huangketsudou.github.io/2020/06/23/leetcode-day24/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处
发布时间: 2020-06-23
最后更新: 2020-06-24
本文标题: leetcode-day24
本文链接: http://huangketsudou.github.io/2020/06/23/leetcode-day24/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处