Justin

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 <

19. Remove Nth Node From End of List

題目描述 題目連結:19. Remove Nth Node From End of List 題意 給定一個鏈結串列,以及一個數字 n,移除鏈結串列倒數第 n 個節點。 限制 * 鏈結串列中的節點數為 sz。 * 1 <= sz <= 30 * 0 <= Node.val <= 100 * 1 <