程序员面试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

你可能感兴趣的:(算法,面试,null)