98. Validate Binary Search Tree

題目連結: 98. Validate Binary Search Tree 題目描述 給定一個二元樹,請判斷它是否是一個有效的二元搜尋樹(Binary Search Tree,BST)。 一個有效的 BST 定義如下: * 節點的左子樹只包含小於當前節點的數字。 * 節點的右子樹只包含大於當前節點的數字。 * 所有左子樹和右子樹自身也必須是二元搜尋樹。 限制條件 * 樹中節點的數量在範圍 [1, 10^4] 內。 * -2^{31} <= Node.val <= 2^{31}

86. Partition List

連結: 86. Partition List 題意 要求將一個鏈結串列重新排列: * 使所有小於特定值 x 的節點都出現在大於或等於 x 的節點之前。 * 分區操作應保持兩個分段中每個節點原始的相對位置(即保持原始順序)。 限制 * 鏈結串列中的節點數量在範圍 [0, 200] 內。 * -100 <= Node.val <= 100 * -200 <= x <= 200 解題思路 為了解決這個問題,我們可以: * 創建兩個虛擬節點(

80. Remove Duplicates from Sorted Array II

題目描述 題目連結:80. Remove Duplicates from Sorted Array II 給定一個已經排序的整數陣列 nums,請你在原地移除重複出現的元素,使得每個元素最多出現兩次,並返回移除後陣列的新長度。不要使用額外的空間,必須在原地修改輸入陣列並在 O(1) 額外空間條件下完成。 解題思路 我們可以使用雙指標的方法來解決這個問題,遍歷陣列並在原地進行修改。具體思路如下: 1. 初始化指標:使用一個指標 i 來標記新陣列的長度(即下一個要放置元素的位置)。 2. 遍歷陣列:對於陣列中的每一個元素 num:

68. Text Justification

68. Text Justification 題意 給定一個字串陣列 words,代表每個單字(字串中沒有任何空白),以及一個整數 maxWidth,代表每一行的最大長度。請模擬文字編輯器的自動換行功能,將單字排列成多行文字,滿足以下要求: * 每行應該放入盡可能多的單字,但總長度不可超過 maxWidth。 * 單字之間至少要有一個空格。 * 單字之間的空格應該盡可能平均分配,若無法平均分配,則左側的空格數應該比右側多。 * 若一行只能放入一個單字,則該行的其餘部分用空格填充。 * 對於最後一行,單字之間只需用一個空格連接,並在行尾填充空格至 maxWidth。 限制 * 1 <= words.length <

11. Container With Most Water

題目描述 題目連結:11. Container With Most Water 給定一個整數陣列 height,其中每個元素代表一個點的高度。這些點位於 x 軸上,每個點的 x 座標對應於它們在陣列中的索引。繪製 n 條垂直線,垂直線的兩端分別為 \((i, 0)\) 和 \((i,height[i])\)。 找出兩條垂直線,使得它們與 x 軸一起形成的容器可以容納最多的水。 注意:你不能傾斜容器,且陣列中的每個元素都大於等於