鍊錶相關的熱點面試題(一)

2021-08-01 03:12:30 字數 846 閱讀 8100

先把相關的題目給出來

1. 從尾到頭列印單鏈表

2. 刪除乙個無頭單鏈表的非尾節點

3. 在無頭單鏈表的乙個非頭節點前插入乙個節點

4. 逆置/反轉單鏈表

5. 單鏈表排序

6. 合併兩個有序鍊錶,合併後依然有序

7. 查詢單鏈表的中間節點, 要求只能遍歷一次鍊錶

先把單鏈表結構給出來

templatet>

struct node

};

void reverseprint(const node* node)

void erasenottail(node* node)

這道題也叫做 鍊錶的o(1)刪除。

void insertfrontnode(node* node)

void reverse(node*& head)

}

void bubblesort(node* head)

cur = cur->_next;

}tail = cur;

cur = head;

}}

node* mergetwolist(node*& head1, node*& head2)

node* findmidnode( node* head)

return slow;

}

鍊錶相關面試題

原文及參 題一 給定單鏈表,檢測是否有環。擴充套件 怎麼快速檢測出乙個巨大的鍊錶中的死鏈?或者如何找出乙個單鏈表的中間節點?題二 給定兩個單鏈表 head1,head2 檢測兩個鍊錶是否有交點,如果有返回第乙個交點。題三 給定單鏈表 head 如果有環的話請返回從頭結點進入環的第乙個節點。要點 如果...

單鏈表相關熱點面試題(一)

對於單鏈表相關的問題,往往是面試的熱點,在此我總結了一些單鏈表相關熱點面試題 一 比較順序表和煉表的優缺點,說說它們分別在什麼場景下使用?一 順序表的特點是邏輯上相鄰的資料元素,物理儲存位置也相鄰,並且,順序表的儲存空間需要預分配。它的優點是 1 方法簡單,各種高階語言中都有陣列,容易實現。2 不用...

各種面試題 鍊錶相關

1.判斷是否有環 bool existcircle listnode head return false 2.找環的起始位置 這個在紙上畫個環就能看出相遇的地方到起始位置與表頭到起始位置的距離是相等的。所以相遇後把乙個放到頭去再相遇就好了。listnode findcirclestart listn...