Leetcode_4:
class Solution {public: double findMedianSortedArrays(int A[], int m, int B[], int n) { int len = m+n; if (len & 1){ return my_find(A,m,B,n,(len >> 1)+1); } else { return (double(my_find(A,m,B,n,len >> 1)) + my_find(A,m,B,n,(len >> 1)+1))/2; } } double my_find(int A[], int m, int B[], int n, int k){ if (m>n) return my_find(B,n,A,m,k); if (m==0) return B[k-1]; if (k==1) return A[0]
Leetcode_10:
class Solution {public: bool isMatch(const char *s, const char *p) { if (*s=='\0' && *p=='\0') return true; else if (*s!='\0' || *p!='\0'){ if (*p=='\0') return false; if (*(p+1)=='*'){ if (isMatch(s,p+2)) return true; if ((*s!='\0') && (*p=='.' || *s==*p)) return isMatch(s+1,p); return false; } else{ if ((*s!='\0') && (*p=='.' || *s==*p)) return isMatch(s+1,p+1); return false; } } else return false; }};