
sicily
文章平均质量分 66
ALLUN刘经伦
这个作者很懒,什么都没留下…
展开
-
sicily inorder traversal for Binary Tree[递归和非递归]
给出函数头,要求补全函数。(1)递归:没什么好说的。。注意visit函数用法#include#includeusing namespace std;template struct BinaryNode{ T elem; BinaryNode *left; BinaryNode * right; BinaryNode(T d, BinaryNode *l=NULL, Bina原创 2013-12-29 01:50:50 · 1357 阅读 · 0 评论 -
sicily message flood
题目要求为比较输入与输出,找出输出中不存在的元素个数 。题目中需要注意的是不区别大小写,所以应该将输入的字符先转换成统一大写或统一小写再判断,在这里我选择的是使用tolower函数将字符串转换成小写,然后使用set容器盛放输入元素,若输出元素中存在set内的元素,则将其erase掉。最后统计个数即可。#include#include#includeusing namespace std;原创 2013-12-29 15:34:06 · 508 阅读 · 0 评论 -
sicily ISBN
水题,不过个别测试用例还需要注意,开始由于忘记了0而WA了2次。题目的主要思想是先判断字符中每一位是否为数字,若是数字,则进行题目中要求的运算。最后求和,求余。代码如下:#include#includeusing namespace std;int main() { string s; while (cin>>s && s != "\0") { int num_to原创 2014-01-01 22:40:48 · 695 阅读 · 0 评论 -
sicily Level Traversal of Bianry Trees
要求如下图:按层次遍历返回所有节点的编号及数值。题中给出了一个list用于存放节点的编号及数值,我使用了一个queue用来层次遍历所有的节点。方法和之前的一样,在queue类型数据结构tree_to_record不为空的情况下,将根压入queue中,然后判断若其左右节点不为空,则将左右节点压入queue中,然后将tree_to_record的头元素tree_to_record.fron原创 2014-01-02 21:51:29 · 879 阅读 · 0 评论 -
sicily1027 MJ, Nowhere to Hide
感觉这个算法挺巧妙的。利用map的性质进行字典序排序,将id设置为键值,若新插入的数据与map中不重复,则插入map1中,否则插入map2中。在2中将键值设置为name,即可通过使用迭代器遍历2得到输出结果。#include#include#includeusing namespace std;int main() { int n; while (cin>>n && n)原创 2013-12-25 12:22:59 · 465 阅读 · 0 评论 -
sicily 1218纪念邮票
题意要求为输入n,m两个数,求解在1-n内满足连续和为m的区间。设区间的端点为a,b。我觉得亮点一是利用c=b-a,这样可以将循环从两个变成一个,时间复杂度大大减小。亮点二是使用了STL库中的map,将结果储存在map中,然后输出。for循环中判断条件是最重要的,其他很简单了。#include#includeusing namespace std;int main() { i原创 2013-12-26 23:57:03 · 542 阅读 · 0 评论 -
SICILY 中缀表达式转后缀表达式(无括号)
将一个中缀表达式转为一个后缀表达式。主要思想是遍历整个字符串数组,遇到字母直接输出,遇到运算符则放入一个栈中,若栈中已有元素,则再次遍历到运算符时应该将当前运算符与栈顶元素比较,若栈顶元素优先级高,则将栈顶元素输出并pop掉,使当前元素继续与新的栈顶元素进行比较。【特别需要注意的是】若当前元素与栈顶元素运算符优先级一样的时候,需要先将栈顶元素输出!例:A+B-C的后缀表达式为AB+C-,而不是我之原创 2014-01-10 20:36:09 · 1058 阅读 · 0 评论