劍指offer全套解答 劍指offer 1 5

2021-10-10 13:42:59 字數 1743 閱讀 9174

1. 二維陣列中的查詢

在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

public

class

solution

int n = array[0]

.length;

int i = m -1;

int j =0;

while

(i >=

0&& j < n)

else

if(array[i]

[j]> target)

else

}return

false;}

}

2. 替換空格
public

class

solution

else

}return sb.

tostring()

;}}

3. 從尾到頭列印鍊錶

輸入乙個鍊錶,按鍊錶從尾到頭的順序返回乙個arraylist。

public

class

solution

return res;

}}

4. 重建二叉樹

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。

public

class

solution

int key = pre[0]

;if(pre.length != in.length)

int len = pre.length;

int i =0;

for(

; i < len; i++)}

treenode root =

newtreenode

(key)

; root.left =

reconstructbinarytree

(arrays.

copyofrange

(pre,

1, i +1)

, arrays.

copyofrange

(in,

0, i));

root.right=

reconstructbinarytree

(arrays.

copyofrange

(pre, i +

1, len)

, arrays.

copyofrange

(in, i +

1, len));

return root;

}}

5. 用兩個棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。

public

class

solution

public

intpop()

else

return stack2.

pop();

}}}

劍指offer全套解答 劍指offer 36 45

36.兩個鍊錶的第乙個公共節點 輸入兩個鍊錶,找出它們的第乙個公共結點。注意因為傳入資料是鍊錶,所以錯誤測試資料的提示是用其他方式顯示的,保證傳入資料是正確的 public class solution return p 37.數字在排序陣列 現的次數 統計乙個數字在公升序陣列 現的次數。publi...

劍指offer全套解答 劍指offer 46 55

46.孩子們的遊戲 圓圈中最後剩下的數 每年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。hf作為牛客的資深元老,自然也準備了一些小遊戲。其中,有個遊戲是這樣的 首先,讓小朋友們圍成乙個大圈。然後,他隨機指定乙個數m,讓編號為0的小朋友開始報數。每次喊到m 1的那個小朋友要出...

劍指offer程式設計

二維陣列中的查詢 題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,...