class Solution {
private:
vector<string> split(const string& src, string separate_character)
{
vector<string> strs;
int separate_characterLen = separate_character.size();//分割字符串长度,这样就可以支持多字 符串的分隔符
int lastPosition = 0, index = -1;
while (-1 != (index = src.find(separate_character, lastPosition)))
{
strs.push_back(src.substr(lastPosition, index - lastPosition));
lastPosition = index + separate_characterLen;
}
string lastString = src.substr(lastPosition);
if (!lastString.empty())
strs.push_back(lastString);
return strs;
}
public:
bool isValidSerialization(string preorder) {
vector<string> preorders=split(preorder,",");
int differ=1;//出度减入度
for(string s:preorders)
{
if(--differ<0)return false;
else if(s!="#") differ+=2;
}
return differ==0;
}
};
331. Verify Preorder Serialization of a Binary Tree
最新推荐文章于 2021-02-16 03:26:06 发布