幾道經典的單鏈表習題(一)

2021-10-05 11:45:52 字數 1317 閱讀 8963

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 表中.並且列...