diff --git a/cs/valid-parenthesis-string.cs b/cs/valid-parenthesis-string.cs new file mode 100644 index 0000000..172033e --- /dev/null +++ b/cs/valid-parenthesis-string.cs @@ -0,0 +1,26 @@ +public class Solution { + public bool CheckValidString(string s) { + int left = 0; + int right = 0; + + for (int i = 0, j = s.Length - 1; i < s.Length; ++i, --j) { + if (s[i] == '(' || s[i] == '*') { + ++left; + } else { + --left; + } + + if (s[j] == ')' || s[j] == '*') { + ++right; + } else { + --right; + } + + if (left < 0 || right < 0) { + return false; + } + } + + return true; + } +}