141.環形鍊錶
給定乙個鍊錶,判斷鍊錶中是否有環。
為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鍊錶中沒有環。
示例 1:
輸入:head = [3,2,0,-4], pos = 1
輸出:true
解釋:鍊錶中有乙個環,其尾部連線到第二個節點。
示例 2:
輸入:head = [1,2], pos = 0
輸出:true
解釋:鍊錶中有乙個環,其尾部連線到第乙個節點。
示例 3:
輸入:head = [1], pos = -1
輸出:false
解釋:鍊錶中沒有環。
/**
* definition for singly-linked list.
* class listnode
* }*/public
class
solution
if(head.next != null)
head = head.next;
//後移
}return
false
;//始終沒有出現環路
}}
155.最小棧
設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。
push(x) – 將元素 x 推入棧中。
pop() – 刪除棧頂的元素。
top() – 獲取棧頂元素。
getmin() – 檢索棧中的最小元素。
示例:minstack minstack = new minstack();
minstack.push(-2);
minstack.push(0);
minstack.push(-3);
minstack.getmin(); --> 返回 -3.
minstack.pop();
minstack.top(); --> 返回 0.
minstack.getmin(); --> 返回 -2.
public
class
minstack
// 資料棧和輔助棧在任何時候都同步
public
void
push
(int x)
else
}public
void
pop()}
public
inttop()
throw
newruntimeexception
("棧中元素為空,此操作非法");
}public
intgetmin()
throw
newruntimeexception
("棧中元素為空,此操作非法");
}}
16.相交鍊錶
編寫乙個程式,找到兩個單鏈表相交的起始節點。
如下面的兩個鍊錶:
在節點 c1 開始相交。
/**
* definition for singly-linked list.
* public class listnode
* }*/public
class
solution
else
if(pb == null)
else
}return pa;
}}
熱題HOT 100 簡單題 4 6
53.最大子序和 給定乙個整數陣列 nums 找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。示例 輸入 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。高階 如果你已經實現複雜度為 o n 的解法,嘗試使用更為精妙的分治法求解...
熱題HOT 100 中等題 4 6
11.盛水最多的容器 給定 n 個非負整數 a1,a2,an,每個數代表座標中的乙個點 i,ai 在座標內畫 n 條垂直線,垂直線 i 的兩個端點分別為 i,ai 和 i,0 找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水。說明 你不能傾斜容器,且 n 的值至少為 2。圖中垂直線...
LeetCode熱題 HOT 100兩數之和
開篇今天興趣來潮打算去leetcode刷刷演算法題,為面試準備,忽然看到頁面的leetcode 熱題 hot 100,然後就點進去了,然後就有了這個文章!兩數之和 給定乙個整數陣列 nums 和乙個整數目標值 target,請你在該陣列中找出 和為目標值 的那 兩個 整數,並返回它們的陣列下標。你可...