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

发布时间:2020-06-28 18:12:07 作者:zgw285763054
来源:网络 阅读:316

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


方法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<<" ";
}


推荐阅读:
  1. 【剑指Offer第三题】从尾到头打印链表
  2. 链表升序排列(尾插)

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

链表

上一篇:mysql的密码怎么看

下一篇: ImportError: No module named _sqlite3 报错解决方法

相关阅读

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

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