본문 바로가기

728x90
반응형

알고리즘/LeetCode

(18)
[LeetCode/208/Java]Implement Trie (Prefix Tree) [LeetCode/208/Java]Implement Trie (Prefix Tree) 풀이 class Solution { TrieNode root; public Solution_208() { root = new TrieNode(); } /** * time complexity O(N) * space complexity O(N) * @param word */ public void insert(String word) { TrieNode temp = root; char[] ch = word.toCharArray(); for (int i = 0; i < ch.length; i++) { if(temp.next[ch[i] - 'a'] == null) { temp.next[ch[i] - 'a'] = new TrieNo..
[LeetCode/120/Java]Triangle [LeetCode/120/Java]Triangle 풀이 class Solution { /** * time complexity O(N) * space complexity O(N) * @param triangle * @return */ public int minimumTotal(List triangle) { if(triangle.size() == 0) return 0; int[] temp = new int[triangle.size()]; for (int i = 0; i < triangle.get(triangle.size() - 1).size(); i++) { temp[i] = triangle.get(triangle.size() - 1).get(i); } for (int i = triangle.size() -..
[LeetCode/113/Java]Path Sum II [LeetCode/113/Java]Path Sum II 풀이 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public List pathSum(TreeNode root, int targetSum) { re..
[LeetCode/112/Java]Path Sum [LeetCode/112/Java]Path Sum 풀이 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public boolean hasPathSum(TreeNode root, int targetSum) {..
[LeetCode/111/Java]Minimum Depth of Binary Tree [LeetCode/111/Java]Minimum Depth of Binary Tree 풀이 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public int minDepth(TreeNode root) { ..
[LeetCode/110/Java]Balanced Binary Tree [LeetCode/110/Java]Balanced Binary Tree 풀이 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public boolean isBalanced(TreeNode root) { re..
[LeetCode/104/Java]Maximum Depth of Binary Tree [LeetCode/104/Java]Maximum Depth of Binary Tree 풀이 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public int maxDepth(TreeNode root) { ..
[LeetCode/101/Java]Symmetric Tree [LeetCode/101/Java]Symmetric Tree 풀이 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public boolean isSymmetric(TreeNode root) { TreeNod..

728x90
반응형