中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

單鏈表的反轉問題

發布時間:2020-07-07 04:20:14 來源:網絡 閱讀:402 作者:313119992 欄目:編程語言

單鏈表的反轉問題

單鏈表反轉問題經常會遇到。在此記錄一下,以便查閱方便。

如果反轉一個有頭結點的使用下面的方法比較合適。

//反轉單鏈表,此單鏈表帶有頭節點。
//思想:使用tmp臨時指針保存頭結點與鏈表的關系
typedef struct ListNode 
{
	int data;
	struct ListNode * next;
}ListNode,*LinkList;
void ReverseList(ListNode* Head)
{
	ListNode *current,*tmp;
	current = Head->next;
	if(current != NULL)//反轉后第一個節點的后繼要為NULL
	{
		tmp = current;
		current = current->next;
		tmp->next = NULL;
	}
	
	while(current!=NULL)
	{
		tmp = current;
		current = current->next;
		tmp->next = Head->next;
		Head->next = tmp;
	}
}

如果沒有頭結點,下面的反轉比較合適

//如果沒有頭節點,下面的函數比較適合
//思想:使用pre和next兩個指針來記錄當前處理的節點的前一個節點和后一個節點的信息
ListNode * ReverseLinkList(ListNode * head)
{
	ListNode * pre,*next;
	pre = NULL;
	next = NULL;
	while(head)
	{
		next = head->next;
		head->next = pre;
		pre = head;
		head = next;
	}
	return pre;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西和县| 长兴县| 遂昌县| 阿勒泰市| 湖南省| 浦北县| 溆浦县| 秭归县| 萍乡市| 浏阳市| 晋中市| 汉沽区| 墨玉县| 盈江县| 淳安县| 罗山县| 商洛市| 大连市| 泊头市| 万安县| 广州市| 肃北| 潞城市| 如皋市| 宁陵县| 临湘市| 来凤县| 醴陵市| 平湖市| 读书| 鄂托克前旗| 左云县| 达拉特旗| 保德县| 措美县| 安陆市| 甘南县| 沁水县| 蓬安县| 襄樊市| 遵义市|