これは面接の質問で、他の人と共有したいと思いました。
「if」を使用せずに、リンクリストの末尾に効率的に追加するにはどうすればよいですか。
この関数からifを削除します。(?
はまだif
です)。
typedef struct tNode_ tNode;
struct tNode_ {
tNode* pNext;
int data;
};
tNode* pHead = NULL;
tNode* pTail = NULL;
AddTail(tNode* pNode){
if(!pTail) {
pHead = pNode;
}
else {
pTail->pNext = pNode;
}
pTail = pNode;
pTail->pNext = NULL;
}