• leetcode Regular Expression Matching


    Implement regular expression matching with support for '.' and '*'.

    '.' Matches any single character.
    '*' Matches zero or more of the preceding element.
    
    The matching should cover the entire input string (not partial).
    
    The function prototype should be:
    bool isMatch(const char *s, const char *p)
    
    Some examples:
    isMatch("aa","a") → false
    isMatch("aa","aa") → true
    isMatch("aaa","aa") → false
    isMatch("aa", "a*") → true
    isMatch("aa", ".*") → true
    isMatch("ab", ".*") → true
    isMatch("aab", "c*a*b") → true

     1 public class Solution {
     2     public boolean isMatch(String s, String p) {
     3         if (s.equals(p)) {
     4             return true;
     5         }
     6         
     7         int lenS=s.length();
     8         int lenP=p.length();
     9         if (lenP==0) {
    10             return lenS==0;
    11         }
    12         if (lenP==1) {
    13             if (p.equals(s)||(p.equals(".")&&lenS==1)) {
    14                 return true;
    15             }else {
    16                 return false;
    17             }
    18         }
    19         
    20         if (p.charAt(1)!='*') {
    21             if (lenS>0
    22                     &&(s.charAt(0)==p.charAt(0)||p.charAt(0)=='.')) {
    23                 return isMatch(s.substring(1), p.substring(1));
    24             }
    25             return false;
    26         }else {
    27             while (s.length()>0&&
    28                     (s.charAt(0)==p.charAt(0)||p.charAt(0)=='.')) {
    29                 if (isMatch(s, p.substring(2))) {
    30                     return true;
    31                 }
    32                 s=s.substring(1);
    33             }
    34             return isMatch(s, p.substring(2));
    35         }
    36     }
    37 }
  • 相关阅读:
    jQuery 选择器
    jQuery 语法
    jQuery 简介
    JSON 使用
    JSON 语法
    Android——Activity跳转
    Activity
    Activity2.java
    Android——Activity练习
    Andriod——手机尺寸相关的概念 +尺寸单位+关于颜色
  • 原文地址:https://www.cnblogs.com/birdhack/p/4185685.html
Copyright © 2020-2023  润新知