温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

面试题:从尾到头打印链表

发布时间:2020-06-28 18:12:07 来源:网络 阅读:318 作者:zgw285763054 栏目:编程语言

题目:输入一个链表的头结点,从尾到头反过来打印出每个节点的值。


方法1:使用栈

/*
链表节点定义如下:
struct ListNode
{
	int _data;
	ListNode* _next;
};
*/


void PrintListTailToHead(ListNode* phead)
{
	assert(phead);

	stack<ListNode*> s;
	ListNode* cur = phead;
	while (cur)
	{
		s.push(cur);
		cur = cur->_next;
	}

	while (!s.empty())
	{
		cout<<s.top()->_data<<" ";
		s.pop();
	}
	cout<<endl;
}



方法2:递归

void PrintListTailToHead(ListNode* phead)
{
	if (phead == NULL)
	{
		return;
	}

	PrintListTailToHead(phead->_next);

	cout<<phead->_data<<" ";
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI