鏈表的遞歸逆序輸出,和鏈表的逆序

class backward
{
public:
	void backwardSeq(ListNode* pHead)
	{
		if (pHead==NULL)
		{
			return ;
		}
		else
		{
			backwardSeq(pHead->next);
			cout<<(pHead->val);
		}
	}
};
class listBack
{
public:
	ListNode* backwardSeq(ListNode* pHead)
	{
		stack<int>tmpStack;int num=0;
		ListNode* pNode=pHead;
		ListNode* resultHead=new ListNode(-1);
		while(pNode!=NULL)
		{
			tmpStack.push(pNode->val);
			pNode=pNode->next;
			num++;
		}
		pNode=resultHead;
		for (int i=0;i<num;i++)
		{
			int tmpVal=tmpStack.top();
			tmpStack.pop();
			ListNode* resultNode=new ListNode(tmpVal);
			pNode->next=resultNode;
			pNode=resultNode;
		}
		return resultHead->next;
	}
};


發佈了41 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章