剑指offer19

原创 2018年04月14日 22:43:34
#include<iostream>
using namespace std;

bool check(char* str, char* pattern,int i,int j) {
	if (str[i] == '\0'&&pattern[j] == '\0') return true;
	if (str[i] == '\0'&&pattern[j] != '\0' || str[i] != '\0'&&pattern[j] == '\0') return false;
	if ((str[i] == pattern[j]|| pattern[j] == '.') && pattern[j + 1]=='*') {
		return check(str,pattern,i + 1,j + 2)|| check(str, pattern, i + 1, j)||check(str, pattern, i, j + 2);
	}
	else if((str[i] == pattern[j] || pattern[j] == '.') && pattern[j + 1] != '*'){
		return check(str, pattern, i + 1, j + 1);
	}
	else if (pattern[j + 1] == '*') {
		return check(str,pattern,i,j + 2);
	}
	else return false;
}

bool match(char* str,char* pattern) {
	if (str == NULL || pattern == NULL) return false;
	return check(str, pattern,0, 0);
}

int main() {
	char *p = "aaa";
	char *q = "ab*ac*a";
	char *d = "ab*a";
	cout<< (match(p,q)==true) <<endl;
	cout << (match(p, d) == true) << endl;
	return 0;
}

剑指Offer(面试题19-20)

面试题19:二叉树的镜像题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。 二叉树结点的定义如下:struct BinaryTreeNode { int m_...
  • Sandeldeng
  • Sandeldeng
  • 2016-11-05 07:26:07
  • 207

剑指offer代码解析——面试题19二叉树的镜像

分析:所谓“镜像”就是从镜子里看到的样子。我们可以画一棵二叉树,然后画出该二叉树的镜像。画完图之后我们会发现,所谓“二叉树的镜像”就是把二叉树中所有子树的左孩子和右孩子进行交换。因此需要遍历二叉树所有...
  • u010425776
  • u010425776
  • 2016-03-14 14:47:04
  • 505

剑指Offer-19

题目:完成一个函数,输入一个二叉树,输出它的镜像。实现//coding = java public class Solution19 { public void mirrorTree(Bina...
  • xiaomingdetianxia
  • xiaomingdetianxia
  • 2017-05-27 09:44:55
  • 96

剑指offer阅读笔记 之面试题19 实现二叉树的镜像 之 又复习一遍二叉树

数据结构里,二叉树是个稍微复杂的数据结构,关于树的问题也都相对复杂,利用树解题的方法也较多,想要掌握树,要掌握最基本的树的遍历,温故而知新,求二叉树的镜像,其实就是遍历二叉树的结点,如果该结点有左孩子...
  • Cinderella_hou
  • Cinderella_hou
  • 2016-06-22 20:43:46
  • 300

剑指Offer-19:正则表达式匹配

请实现一个函数用来匹配包括'.'和' * '的正则表达式。
  • Koala_Tree
  • Koala_Tree
  • 2018-01-05 10:24:46
  • 556

《剑指offer》-正则表达式匹配

题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模...
  • xiaohaijiejie
  • xiaohaijiejie
  • 2016-09-02 10:11:19
  • 378

剑指Offer 面试题19:正则表达式匹配 Java代码实现

题目:正则表达式匹配 请实现一个函数用来匹配包含'.'和'*'的正则表达式。字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次) 主要思想就是字符的第...
  • hh_zheng
  • hh_zheng
  • 2017-11-20 19:58:50
  • 175

剑指Offer 名企面试官精讲典型编程题(纪念版)-高清.............

  • 2018年04月09日 21:44
  • 54.05MB
  • 下载

算法面试题 剑指offer

  • 2017年11月13日 09:54
  • 20.94MB
  • 下载

剑指Offer 最新版

  • 2017年09月11日 10:38
  • 104.53MB
  • 下载
收藏助手
不良信息举报
您举报文章:剑指offer19
举报原因:
原因补充:

(最多只允许输入30个字)