從尾到頭列印鍊錶
題目描述:
輸入乙個鍊錶的頭結點,從尾到頭反過來列印出每個節點的值。解題思路:
1.通過借助容器vector和棧stack共同完成 ----後進先出
2.不使用棧結構stack,直接利用翻轉函式reverse()函式和容器vector
3.不使用容器vector,直接用print結合遞迴方式實現鍊錶的反向列印
//鍊錶結構體定義
struct listnode
};
//方法一:通過借助容器vector和棧stack共同完成 ----後進先出
class solution
while (!nodes.empty())
return result;
}};
//方法二: 不使用棧結構stack,直接利用翻轉函式reverse()函式和容器vector
class solution
reverse(result.begin(),result.end());
return result;
}};
//方法三: 不使用容器vector,直接用print結合遞迴方式實現鍊錶的反向列印
class solution
// and then print the current node
print("%d",phead->val);}}
};
劍指offer 從尾到頭列印鍊錶(鍊錶)
輸入乙個鍊錶,按煉錶值從尾到頭的順序返回乙個arraylist。1 將鍊錶反轉,會改變鍊錶的結構,一般不採用 2 使用棧,從頭到尾讀取資料並存入棧中,輸出棧中的全部內容 3 使用遞迴實現,遞迴在本質上就是乙個棧結構,每次列印當前值時,先列印後乙個值,使用遞迴 更簡潔。但是鍊錶過長將導致遞迴呼叫過深,...
劍指offer 鍊錶
單向鍊錶的結構定義 typedef int datatype struct listnode 問題1 往鍊錶的末尾新增乙個結點 給定頭結點,往末尾插入乙個結點 void insertnode listnode head,datatype key listnode p head while p nex...
劍指offer 鍊錶
鍊錶 鍊錶是一種動態資料結構 struct listnode 往鍊錶的末尾新增乙個節點的c 程式如下 void addtotail listnode phead,int value 注意第乙個引數phead是乙個指向指標的指標。當我們往乙個空鍊錶插入乙個結點時,else pnode m pnext ...