也是面腾讯的一道编程题=,= 这题比较简单代码如下: 1 #include 2 #include 3 4 // 非递归实现字符串反转 5 char *reverse_v1(char *str) 6 { 7 if( !str ) 8 { 9 ...
分类:
编程语言 时间:
2014-09-04 16:29:09
阅读次数:
153
复习一下链表反转#include
#include
typedef int ElemType;
typedef struct Node {
int data;
struct Node* next;
}Node, *List;
//用数组arr来初始化链表中数据;此例中链表无头点
int InitList(List *list, ElemType* arr, int num)
{
int...
分类:
其他好文 时间:
2014-09-03 18:09:26
阅读次数:
168
树的求和属于树的题目中比较常见的,因为可以有几种变体,灵活度比较高,也可以考察到对于树的数据结构和递归的理解。一般来说这些题目就不用考虑非递归的解法了(虽然其实道理是跟LeetCode总结 -- 树的遍历篇一样的,只要掌握了应该没问题哈)。 LeetCode中关于树的求和有以下题目:Path SumPath Sum IISum Root to Leaf NumbersBinary Tree Max...
分类:
其他好文 时间:
2014-09-01 10:45:53
阅读次数:
147
递归好处:代码更简洁清晰,可读性更好递归可读性好这一点,对于初学者可能会反对。实际上递归的代码更清晰,但是从学习的角度要理解递归真正发生的什么,是如何调用的,调用层次和路线,调用堆栈中保存了什么,可能是不容易。但是不可否认递归的代码更简洁。一般来说,一个人可能很容易的写出前中后序的二叉树遍历的递归算...
分类:
其他好文 时间:
2014-09-01 00:17:32
阅读次数:
218
http://acm.hdu.edu.cn/showproblem.php?pid=4850
题意:构造长度为n的字符序列,使得>=4的子串只出现一次
其实最长只能构造出来26^4+4-1= 456979 的序列,大于该数的都是不可能的。构造方法,就是那种欧拉回路的序列,此题DFS会爆栈,手动扩展栈也可以AC......
递归形式的开始WA了,没有细调就换非递归了,后来又想了想,虽然自己电脑上运行不了,但是先把长度按小的来,然后调试代码,然后在扩大,AC了,当时错在MOD,递归的MOD应该是26^4,而不是...
分类:
其他好文 时间:
2014-08-31 23:02:42
阅读次数:
332
#include#include#includeusing namespace std;struct ListNode{ int data; ListNode *lchild,*rchild;};ListNode* Createbst(){ int data; scanf("...
分类:
其他好文 时间:
2014-08-30 23:01:00
阅读次数:
220
问题描述:一个背包可承重W,现有n件东西,东西 i 的价值为 vi,重量为wi。现在从这n件东西中拿出几件装到背包中,问可获得的最大价值?举例:W = 3, n = 3;东西的价值vi wi3 44 55 6DP的解法:先从递归的角度理解这个问题,然后在贴上非递归的模板。现在为东西编号:0 ...
分类:
其他好文 时间:
2014-08-29 00:01:16
阅读次数:
251