1.反轉乙個單鏈表。
public node reverse()
cur.next = prev;
prev = cur;
cur = curnext;
}return newhead;
}
2.給定乙個帶有頭結點 head 的非空單鏈表,返回鍊錶的中間結點。如果有兩個中間結點,則返回第二個中間節點。
public node middlenode()
return slow;
}
3.輸入乙個鍊錶,輸出該鍊錶中倒數第k個結點。
public node findk
(int k)
node fast =
this
.head;
node slow =
this
.head;
while
(k -1!=
0)else
}while
(fast.next != null)
return slow;
}
4.將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。
public node mergetwolists
(node heada, node headb)
else}if
(heada != null)
else
return newhead.next;
}
5.編寫**,以給定值x為基準將鍊錶分割成兩部分,所有小於x的結點排在大於或等於x的結點之前 。
public node partition
(int x)
else
}else
else
} cur = cur.next;}if
(bs == null)
be.next = as;
if(ae != null)
return bs;
}
6.在乙個排序的鍊錶中,存在重複的結點,請刪除該鍊錶中重複的結點,重複的結點不保留,返回煉表頭指標。
public node deleteduplication()
cur = cur.next;
}else
} tmp.next = null;
return newhead.next;
}
關於單鏈表的幾道題
思路 建立三個工作指標p,q,r,然後p遍歷整個鍊錶,p每到乙個結點,q就從這個結點往後遍歷,並與p的數值比較,相同的話就free掉那個結點.刪除單鏈表中重複結點的演算法 linklist removedupnode linklist l else q q next p p next return ...
幾道經典容易錯的php面試題
1.這道題問是輸出的結果是什麼?在echo輸出的字串中如果含有函式,則優先輸出 function test a b 10 echo function b test b 輸出的結果是20function 10 2.這道題考了運算的的優先順序 邏輯運算子的優先順序要大於算數運算子 1.考了優先順序,左邊...
一道經典plsql程式設計練習題
最近在學plsql,苦於找不到練習題,所以自己寫了乙個用於練習.要求如下 查詢scott使用者的 emp表中的所有資料,如果 job為 工資大於 2500 則下調百分之 10 如果小於 則增加百分之 10,如果 job為 工資小於 則上調百分之 10 最後符合條件的人 插入到 test 表中.並且列...