概述
题目要求写一个简易的URL规则和URL地址匹配的程序。
说说我的思路。
将URL规则和地址都截成片段用结构体(<type, str[]>)存储。对于URL规则,(type)为0代表(/),1代表(<str>),2代表(<int>),3代表(<path>),4代表两个(/)之间的字符串(用(str[])存储)。对于URL地址,(type)为0代表(/),1代表两个(/)之间的字符串(用(str[])存储)。
然后就是一些字符串处理,模拟着匹配一下。不同(type)的节点匹配起来有些不同。
注意(<int>)匹配后输出,要去掉前导零。
#include <bits/stdc++.h>
const int maxn = 100;
const int maxm = 100;
using namespace std;
struct tNode
{
int type;
char str[105];
};
tNode rule[maxn+5][55];
int ruleCnt[maxn+5];
char name[maxn+5][105];
tNode url[55];
int urlCnt;
bool isNumber(char s[])
{
for (int i = 0; s[i] != '