鏈表的建立

fstream fin("test.txt");
	ListNode* head(0);
	int val = 0;
	while (fin >> val){
		if (head == NULL){
			head = new ListNode(val);
		}
		else{
			while (head->next != NULL)
				head = head->next;
			head->next = new ListNode(val);
		}
	}


今天刷leetcode時遇到一個鏈表的題目,鏈表的建立出錯了哈,寫個博客加深下印象!!!

text.txt的數據是: 5 4 3 2 1

上面的鏈表建立 是有問題的,鏈表建立完了,head沒有指向鏈表的頭結點

所以要先保存下head指針,下面的代碼就對了

         else{
			ListNode* tmp = head;
			while (tmp->next != NULL)
				tmp = tmp->next;
			tmp->next = new ListNode(val);
		}


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