看板Marginalman
想法差不多
但我一開始最後面只判斷個數沒檢查index
(就是直接return star.Count>=left.Count)
想說為什麼都過不了
修正之後就過了
大神好強
C# code:
public class Solution {
public bool CheckValidString(string s) {
var left = new Stack<int>();
var star = new Stack<int>();
int length = s.Length;
for (int i=0; i<length; i++)
{
if (s[i] == '(')
{
left.Push(i);
continue;
}
if (s[i] == '*')
{
star.Push(i);
continue;
}
if (left.Count > 0)
{
left.Pop();
continue;
}
if (star.Count > 0)
{
star.Pop();
continue;
}
return false;
}
if (left.Count > star.Count) return false;
while (left.Count != 0)
{
if (left.Pop() > star.Pop()) return false;
}
return true;
}
}
--
(づ′・ω・)づ
--※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1712474771.A.7D3.html