☞單鏈表的基礎操作
單鏈表建立面試題:
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 帶環...