题目:输入一个链表的头结点,从尾到头反过来打印出每个节点的值。
方法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<<" "; }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。