一.题目 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式.例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配 二.思路 方法一:调用matches函数 方法二:详见代码注释 三.代码 方法一代码: public…
剑指Offer(十九):顺时针打印矩阵 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ github:https://github.com/aimi-cn/AILearners 一.引子 这个系列是我在牛客网上刷<剑指Offer>的刷题笔记,旨在提升下自己的算法能力. 查看完整的剑指Offer算法题解析请点击:剑指Offer完整习题解析 二.题目 输入一个矩阵…
这题一年前就做过,当时刚开始刷leetcode,提交了几十次过不去,就放那没管了.今天剑指offer又遇到这题,终于做出来了,用的dp. class Solution { public: bool isMatch(string s, string p) { int s_len=s.size(),p_len=p.size(); vector<vector<,vector<,false)); //dp[i][j]表示s[0,i-1]和p[0,j-1]能否匹配 dp[][]=true;//空串…
#include"iostream" using namespace std; bool MatchCore(char*str,char* pattern); bool Match(char* str,char* pattern) { if(str==nullptr||pattern==nullptr) return false; return MatchCore(str,pattern); } bool MatchCore(char*str,char* pattern) { if(*…
面试题 19. 正则表达式匹配…
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 例如,如果输入如下4 X 4矩阵: 1   2    3     4 5   6    7     8 9   10  11   12 13 14  15    16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.   思想: 一圈一圈的打印,这道题难点在于何时中止打印.   图为在矩阵中某一圈,length为矩阵长度,width为矩阵宽度,坐标值为数组下标. 对于我们这道题…
一.题目 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推.二.思路 详见代码 三.代码 import java.util.ArrayList; import java.util.Stack; public class Solution { public ArrayList<ArrayList<Integer>> print(TreeNode pRoot) { int layer = 1;…
一.题目 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 二.思路 详见代码. 三.代码 public class Solution { public static int StrToInt(String str) { //初始条件判断 if (str.equals("") || str.length() == 0) return 0; char[] a = str.toCharArray(); int fuhao = 0…
一.题目 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 二.思路 详解代码. 三.代码 public class Solution {     //判断根节点左右子树的深度,高度差超过1,则不平衡     public boolean IsBalanced_Solution(TreeNode root) {         if (root==null) {             return true;         }         int left = getTreeDepth(r…
一.题目 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 二.思路 详解代码. 三.代码 import java.util.ArrayList; import java.util.Arrays; public class Solution { public ArrayList<Integer> GetLeastNumbers_Solution(int[] input, int k) { ArrayList<Int…