C++二叉树翻转
来源:互联网 发布:ping 的端口 编辑:程序博客网 时间:2024/06/12 01:39
#include <iostream>using namespace std;template<typename Type>struct Node{ Type data; Node *left; Node *right; Node(Type d = Type()) :data(d), left(NULL), right(NULL){}};template<typename Type>class MyTree{public: MyTree(const char *str) { root = NULL; Init(root,str); }private: void Init(Node<Type> *&t,const char *& str)//初始化二叉树。 { if (*str == '#') { t = NULL; return; } else { t = new Node<Type>(*str); Init(t->left,++str); Init(t->right, ++str); } }public: void Reversed()//翻转二叉树。 { Reversed(root); }private: void Reversed(Node<Type> *&t) { if (t == NULL)return; else { Reversed(t->left); Reversed(t->right); Node<Type> *tmp = t->right; t->right = t->left; t->left = tmp; } }public: void Show() { Show(root); }private: void Show(Node<Type> *t) { if (t == NULL) { return; } cout << t->data << " "; Show(t->left); Show(t->right); }private: Node<Type> *root;};int main(){ MyTree<char> mt("abc##d##ef##g##"); mt.Reversed(); mt.Show(); return 0;}
0 0
- 翻转二叉树(C++)
- C++二叉树翻转
- 翻转二叉树
- 翻转二叉树
- 题目:翻转二叉树
- LintCode 翻转二叉树
- LinkCode-翻转二叉树
- 翻转二叉树
- 翻转二叉树
- 翻转二叉树
- LintCode_175_翻转二叉树
- 二叉树翻转
- lintcode ----翻转二叉树
- lintcode,翻转二叉树
- 翻转二叉树
- 翻转二叉树
- 翻转二叉树
- 翻转二叉树
- 如何看tomcat控制台信息
- 关于点法线向量的计算
- libev和libuv的区别
- Linux下ppp拨号+3G模块(evdo 中兴MC8630模块)
- CodedUI自动化测试及脱离VS独立运行
- C++二叉树翻转
- c++中的4种类型转换
- 手把手教你把 Vim 改装成一个 IDE 编程环境(图文)
- oracle建立了监听为什么在服务中没有显示?
- SpringMVC学习(三)
- 规律生活
- drp错误集锦---“Cannot return from outside a function or method”
- notepad++自动补全括号
- 学习Android的Camera