單鏈表的常見面試題

2021-08-08 18:27:33 字數 1050 閱讀 7673

☞單鏈表的基礎操作

單鏈表建立面試題:

1. 從尾到頭列印單鏈表

2. 刪除乙個無頭單鏈表的非尾節點(不能遍歷鍊錶)

3. 在無頭單鏈表的乙個非頭節點前插入乙個節點(不能遍歷鍊錶)

4. 單鏈表實現約瑟夫環(josephcircle)

5. 逆置/反轉單鏈表

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

void printlisttail2head(pnode head)//倒著列印

}void delnottailnode(pnode head,pnode pos)//不遍歷刪除非尾節點

void insternoterg(pnode *head,pnode pos,datetype e)//不遍歷在結點前插入

}pnode deathring(pnode *head,int m)//約瑟夫環

//刪除

del = cur->next;

cur->

data

= del->

data;

cur->next = del->next;

free(del);

*head = cur;

}//解環

cur->next =

null;

*head = cur;

return (*head);

}pnode findmidnode(pnode head)//返回中間結點

return low;

}pnode reverselist(pnode *head)//非遞迴逆轉

second->next = first;

*head = second;

return (*head);}//

/************測試*****************/

void test5()

void test4()

void test3()

void test2()

int main()

單鏈表常見面試題

ifndef linklist h define linklist h define crt secure no warnings include include include string h include typedef int datatype typedef struct node no...

單鏈表常見面試題

一 獲取單鏈表的節點個數 思路 遍歷鍊錶 head 煉表頭結點 param head return 方法 獲取到單鏈表結點的個數 如果是帶頭結點的鍊錶,不統計頭結點 public static int getlength heronode head int length 0 定義乙個輔助變數,沒有統...

單鏈表常見面試題及答案

一 單鏈表結點的刪除 0 刪除單鏈表p指向的那個元素,時間和空間複雜度盡量小 二 單鏈表的訪問 1 找出單鏈表的倒數第k個元素,僅允許遍歷一遍鍊錶 2 找出單鏈表的中間元素,僅允許遍歷一遍鍊錶 三 單鏈表與環的問題 3 判斷單鏈表是否有環 6形狀 4 如何找到環的入口?5 如何知道環的長度?6 帶環...