思路题
来源:互联网 发布:阿里云备案幕布 psd 编辑:程序博客网 时间:2024/04/30 14:23
1.输入一个二叉树的序列要求得出二叉树的镜像
ps:可以先画图进行分析思考
这道题目很好想,既然是镜像,那么原二叉树的左子树即为新二叉树的右子树,依次类推,构造代码如下(左右子树均互换即可)
treeNode* createImage(char*& str){ if (str == NULL) { return NULL; } if (str[0] == '\0' || str[0] == '#') { return NULL; } treeNode* s = buyNode(); s->data = str[0]; s->right = createImage(++str); s->left = createImage(++str); return s;}
注意特殊的输入情况,如果题目要求用循环,那么注意二叉树的顺序是如何给你的
2.顺时针打印矩阵
void show(int a[][4], int beg,int chang,int kuan){ if (a==NULL||beg>=kuan||beg>=chang) { return; } int c = beg; int k = beg; while (k<kuan)//长对应行,宽对应列 { cout << a[c][k] << " "; k++; } cout << endl; k--; c++; while (c < chang) { cout << a[c][k] << " "; c++; } c--; k--; cout << endl; while (k >= beg) { cout << a[c][k] << " "; k--; } k++; c--; cout << endl; while (c > beg) { cout << a[c][k] << " "; c--; } cout << endl; show(a, beg + 1, chang - 1, kuan - 1);}
3.包含min函数的栈
定义栈的数据结构,请在该类型实现一个能够得到栈的最小元素的min函数,在该栈中,调用min,push及pop的时间复杂度都是O(1)
思路:
可以设置一个辅助栈,里面根据主栈的压入数据每次压入最小的,当主栈出数据,辅助栈也出一个,保持两个栈的数据数目一致
注意参数检测
4.输入两个证书序列,判断如果以1入栈,则2是否是1出栈的可能
代码如下
bool judge(int arr[], int brr[], int len)//arr为压栈顺序{ if (len <= 1) { return true; } stack<int> m1; int tmp = brr[0];//4 int flag=0; int i = 0;//12345 int j = 0;//45321 while (j < len) { if (!m1.empty()) { if (m1.top() == brr[j]) { m1.pop(); j++; tmp = brr[j]; continue; } else { if (flag == 1) { return false; } } } while (arr[i] != tmp&&i < len) { m1.push(arr[i]);//123 i++; } if (brr[j] == arr[len-1]) { flag = 1; } j++;//1 i++; tmp = brr[j]; } return true;}
5.层序遍历二叉树
void printCeng(treeNode* s){ if (s == NULL) { return; } queue<treeNode*> m1; m1.push(s); while (!m1.empty()) { treeNode* tmp = m1.front(); m1.pop(); cout << tmp->data << " "; if (tmp->left != NULL) { m1.push(tmp->left); } if (tmp->right!= NULL) { m1.push(tmp->right); } }}
明天还会补充
0 0
- 思路题
- 思路题
- 思路题
- 思路题
- 作文185题思路
- hduDP题(思路)
- 练思路的题
- ZOJ 3327(思路题)
- HDU 4970 思路题
- HDU 5301 思路题
- 周赛 5 【思路题】
- POJ 1904 思路题
- nyoj 1809 思路题
- 思路!
- 思路
- 思路
- 思路
- 思路
- Net设计模式实例之工厂方法模式( Factory Method Pattern)
- JS操作JSON总结
- 利用谷歌自定义API打造百度网盘搜索引擎
- Net设计模式实例之简单工厂模式(Simple Factory Pattern)
- JDBC基础知识(一)
- 思路题
- Net设计模式实例之观察者模式(Observer Pattern)
- BurpSuite系列(三)----Spider模块(蜘蛛爬行)
- 用STL输出顺序容器
- 安卓Button按钮的四种点击事件
- 第五章菜单
- ListView和Adapter—数据适配器使用详情
- Android 微信支付接入,返回出现-1问题
- 有关vs平台工作集