1. 程式人生 > >LeetCode Animation 題目圖解彙總(持續更新中...)

LeetCode Animation 題目圖解彙總(持續更新中...)

我會盡力將LeetCode上所有的題目都用動畫的形式演示出來,期待與你見證這一天!

GitHub Repo:LeetCode Animation
Follow: MisterBooo · GitHub

Problems

ID Problem Article Animation
001 兩數之和 每天一算:Two Sum
019 刪除連結串列的倒數第N個節點 每天一算:Remove Nth Node From End of List
020 有效的括號 每天一算:Valid Parentheses
024 兩兩交換連結串列中的節點 每天一算:Swap Nodes in Pairs
026 刪除排序陣列中的重複項 每天一算:Remove Duplicates from Sorted Array
075 顏色分類 每天一算:Sort Colors
086 分隔連結串列 每天一算:Partition List
092 反轉連結串列 II 每天一算:Reverse Linked List II
094 二叉樹的中序遍歷 每天一算:Binary Tree Inorder Traversal
102 二叉樹的層序遍歷 每天一算:Binary Tree Level Order Traveral
144 二叉樹的前序遍歷 每天一算:Binary Tree Preorder Traversal
145 二叉樹的後序遍歷 每天一算:Binary Tree Postorder Traversal
150 逆波蘭表示式求值 每天一算:Evaluate Reverse Polish Notation
167 兩數之和 II - 輸入有序陣列 每天一算:Two Sum II
199 二叉樹的右檢視 每天一算:Binary Tree Right Side View
203 移除連結串列元素 每天一算:Remove Linked List Elements
219 存在重複元素 II 每天一算:Contains Duplicate II
237 刪除連結串列中的節點 每天一算:Delete Node in a Linked List
283 移動零 每天一算:Move Zeros
328 奇偶連結串列 每天一算:Odd Even Linked List  
344 反轉字串 每天一算:Reverse String
349 兩個陣列的交集 每天一算:Intersection of Two Arrays
350 兩個陣列的交集 II 每天一算:Intersection of Two Arrays II
447 迴旋鏢的數量 每日一算:Number of Boomerangs
454 四數相加 II 每日一算:4Sum II

藍色連結可直接進入原文閱讀,黑色文章標題表明還未釋出!

 

解釋:

比如這題:有效的括號動畫分析
這道題讓我們驗證輸入的字串是否為括號字串,包括大括號,中括號和小括號。

這裡我們使用棧。

遍歷輸入字串
如果當前字元為左半邊括號時,則將其壓入棧中
如果遇到右半邊括號時,分類討論:
1)如棧不為空且為對應的左半邊括號,則取出棧頂元素,繼續迴圈
2)若此時棧為空,則直接返回false
3)若不為對應的左半邊括號,反之返回false