剑指Offer面试题6:从尾到头打印链表

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

(1)用栈来解决

void PrintListRever(ListNode *pHead){
	if(pHead == nullptr)
		return;
	
	stack nodes;
	while(pHead != nullptr){
		nodes.push(pHead->m_nValue);
		pHead = pHead->m_pNext;
	}
	
	while(!nodes.empty()){
		cout<

(2)用递归

void PrintListRever_Recur(ListNode *pHead){//反向输出,利用递归
	if(pHead != nullptr){
		if(pHead->m_pNext != nullptr){
			PrintListRever_Recur(pHead->m_pNext);
		}
		cout<m_nValue<<" ";//要判断指向节点是否为空 
	}	
}

 

 

你可能感兴趣的:(剑指Offer,剑指Offer)