【刷题之路】二叉树先序序列化
来源:互联网 发布:php网页编辑软件有哪些 编辑:程序博客网 时间:2024/05/01 15:27
将一颗二叉树先序遍历并输出一个字符串,每个数字后加‘!’作为分隔,空节点记为‘#!’
class TreeToString {
public:
string toString(TreeNode* root) {
string res;
string temp;
stack<TreeNode*> p1;
TreeNode* cur;
p1.push(root);
while(!p1.empty()){ //利用循环先序遍历二叉树
cur=p1.top();
p1.pop();
if(cur==NULL){
res+="#!";
continue;
}
temp=str1(cur->val); //整型转字符串,可以替换为sprintf函数,功能一样
temp+='!';
res+=temp;
if(cur) p1.push(cur->right); //即时左右孩子节点为空,依然押入,只有当当前节点为空时停止,与二叉树先序遍历稍有不同
if(cur) p1.push(cur->left);
else res+="#!";
}
return res;
}
string str1(int a){
std::stringstream ss; //字符串流std ,将节点val变为字符串
ss << a;
return ss.str();
}
};
- 【刷题之路】二叉树先序序列化
- 【刷题之路】二叉搜索树的后序遍历序列
- 牛客网刷题之序列化二叉树
- 数据结构之二叉树: 二叉树序列化
- 剑指offer62题序列化二叉树
- 二叉树序列化
- 二叉树序列化
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- 序列化二叉树
- SmartImagView的用法
- 二叉树------层序遍历
- 如何用 Python 实现 Web 抓取?
- 创建自己的pod仓库
- C# Winform WebBrowser控件
- 【刷题之路】二叉树先序序列化
- linux定时器
- Python SMTP发送邮件
- 给exe程序 制作数字签名
- Libgcrypt 代码实例
- CryptoPP使用介绍
- 谈谈对APC的一点理解
- Android----让你的状态栏变色-----沉浸式状态栏解决方案
- 该伙伴事务管理器已经禁止了它对远程/网络事务的支持