您的位置:首页 > 职场人生

[面试] 递归 反向输出链表 ,定义一个求字符串长度的函数, 反向输出字符串. 不能再函数内部定义变量.

2013-01-25 21:20 676 查看
#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <vector>
#include <stack>
#include <deque>
#include <queue>
#include <bitset>
#include <list>
#include <map>
#include <set>
#include <iterator>
#include <algorithm>
#include <functional>
#include <utility>
#include <sstream>
#include <climits>
#include <cassert>
#define BUG puts("here!!!");

using namespace std;
struct Node {
int value;
Node* next;
};
Node* creat() {
Node* head = new Node();
assert(head != NULL);
head->value = 1;
Node* p = head;
for(int i = 2; i < 10; i++) {
p->next = new Node();
p = p->next;
p->value = i;
}
return head;
}
void reverse(Node* head) {
Node* p = head;
if(head == NULL) return;
if(p->next) {
reverse(p->next);
}
cout << p->value << ' ';
}
int main() {
Node* head = creat();
reverse(head);
cout << endl;
return 0;
}
求字符串长度
#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <vector>
#include <stack>
#include <deque>
#include <queue>
#include <bitset>
#include <list>
#include <map>
#include <set>
#include <iterator>
#include <algorithm>
#include <functional>
#include <utility>
#include <sstream>
#include <climits>
#include <cassert>
#define BUG puts("here!!!");

using namespace std;
int getLen(char* p) {
if(*p == '\0') return 0;
return getLen(p+1) + 1;
}
int main() {
char str[] = "abcdefg";
cout << getLen(str) << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐