软件工程师面试100题(算法)之递归逆序打印单链表、字符串(同时求字符串长度)

程序员面试100题(算法)之递归逆序打印单链表、字符串(同时求字符串长度)(一)递归逆序打印单链表void PrintR

程序员面试100题(算法)之递归逆序打印单链表、字符串(同时求字符串长度)

(一)递归逆序打印单链表

void PrintReverseLink(LinkNode *headNode){if(NULL == headNode)return;PrintReverseLink(headNode->next);cout << headNode->value << "  ";}

(二)递归逆序打印字符串,同时求字符串长度

void PrintReverseStr(char *str, int &length){if(NULL == str)return;else if(*str == '\0')return;else{length++;char *s = str + 1;PrintReverseStr(s, length);cout << *str;}}

输入:

char sentence[] = "abc  d  e   f     \ng";  

输出:

长度为20