1 Star 0 Fork 0

MetaverseMobile/leetcode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
331_验证二叉树的前序序列化.cpp 1.36 KB
一键复制 编辑 原始数据 按行查看 历史
class Solution {
public:
bool recursion(string seq) {
if (seq.size() > 1 && seq.front() == '#')
return false;
if (seq.size() % 2 == 0)
return false;
else if (seq.size() == 1)
return seq.front() == '#';
// else if (seq.find("####") != -1)
// return false;
bool isFind = false;
string seq_next;
int i;
for (i = 0; i < seq.size() - 2;) {
if (seq[i+1] == '#' && seq[i+2] == '#' && seq[i] != '#') {
seq_next += '#';
i += 3;
isFind = true;
}
else {
seq_next += seq[i++];
}
}
seq_next += seq.substr(i);
cout << seq_next << endl;
return isFind ? recursion(seq_next) : isFind;
}
bool isValidSerialization(string preorder) {
string seq;
string item;
stringstream ss(preorder);
while (std::getline(ss, item, ',')) {
if (item == "#")
seq += "#";
else
seq += "n";
}
stack<char> s;
int i = 0;
while (i < seq.size()) {
if (seq[i] == '#' && seq.empty())
return false;
}
return ;
}
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/MetaverseMobile/leetcode.git
[email protected]:MetaverseMobile/leetcode.git
MetaverseMobile
leetcode
leetcode
main

搜索帮助