알고리즘/해커랭크 (30) 썸네일형 리스트형 [해커랭크] Tree: Level Order Traversal [JAVA] 문제링크 : www.hackerrank.com/challenges/tree-level-order-traversal/problem Tree: Level Order Traversal | HackerRank Level order traversal of a binary tree. www.hackerrank.com 노드의 height가 낮을수록, 왼쪽 노드일 수록 먼저 출력하는 코드다. 같은 레벨의 노드를 먼저 출력하기 위해서 같은 높이의 노드들을 left 노드부터 큐에 담도록 짰다 public static void levelOrder(Node root) { Queue q = new LinkedList(); q.offer(root); while(!q.isEmpty()){ int q_size= q.size(); f.. [해커랭크] Tree: Postorder Traversal [JAVA] 문제링크 : www.hackerrank.com/challenges/tree-postorder-traversal/problem Tree: Postorder Traversal | HackerRank Print the post order traversal of a binary tree. www.hackerrank.com public static void postOrder(Node root) { if(root==null) return; postOrder(root.left); postOrder(root.right); System.out.print(root.data + " "); } [해커랭크] Tree: Height of a Binary Tree [JAVA] 문제링크 : www.hackerrank.com/challenges/tree-height-of-a-binary-tree/problem Tree: Height of a Binary Tree | HackerRank Given a binary tree, print its height. www.hackerrank.com 재귀를 한단계 수행할 때마다 리턴받을 값이 하나씩 증가하게 된다 public static int height(Node root) { if(root==null)return -1; int ret = 0; ret = Math.max(height(root.left),height(root.right)); return ret+1; } [해커랭크] Tree: Inorder Traversal [JAVA] 문제링크 : www.hackerrank.com/challenges/tree-inorder-traversal/problem Tree: Inorder Traversal | HackerRank Print the inorder traversal of a binary tree. www.hackerrank.com public static void inOrder(Node root) { if(root==null) return; inOrder(root.left); System.out.print(root.data +" "); inOrder(root.right); } [해커랭크] Tree: Preorder Traversal [JAVA] 문제링크 : www.hackerrank.com/challenges/tree-preorder-traversal/problem Tree: Preorder Traversal | HackerRank Print the preorder traversal of a binary tree. www.hackerrank.com public static void preOrder(Node root) { if(root==null) return; System.out.print(root.data + " "); preOrder(root.left); preOrder(root.right); } [해커랭크] Find Merge Point of Two Lists 문제링크: www.hackerrank.com/challenges/find-the-merge-point-of-two-joined-linked-lists/problem Find Merge Point of Two Lists | HackerRank Given two linked lists, find the node where they merge into one. www.hackerrank.com N*M 시간복잡도의 해결법밖에 생각나지 않았다. 구현 했더니 통과는 됐는데 찝찝한 채로 다른 사람의 풀이를 봤다. 댓글 반응은 아주 좋았는데 코드를 봐도 어떤 풀인지 이해하는데 한참 걸렸다. 그 풀이를 설명한 다른 블로그가 있는데 그것을 참고하면 좋을 듯 하다. *이 문제를 마지막으로 해커랭크 링크드리스트 문제를 모두 .. [해커랭크] Delete duplicate-value nodes from a sorted linked list 문제링크: www.hackerrank.com/challenges/delete-duplicate-value-nodes-from-a-sorted-linked-list/problem Delete duplicate-value nodes from a sorted linked list | HackerRank Given a linked list whose nodes have data in ascending order, delete some nodes so that no value occurs more than once. www.hackerrank.com 아주 재밌는 문제였다. 두 가지 방법으로 풀었다. 비슷한 방식이지만 처음 문제를 풀고나니 재귀로 간결하게 풀릴 것 같아서 바로 다시 풀었다. 방법1 -포인터cur와,.. [해커랭크] Merge two sorted linked lists 문제링크 : www.hackerrank.com/challenges/merge-two-sorted-linked-lists/problem Merge two sorted linked lists | HackerRank Given the heads of two sorted linked lists, change their links to get a single, sorted linked list. www.hackerrank.com 웬만하면 리스트 문제풀이에서 새로운 리스트를 생성하는 일은 안하려 했는데 도저히 생각나지 않았다. 다른 풀이는 재귀로 풀었는데 이해하기 쉬운코드는 아니었다. static SinglyLinkedListNode mergeLists(SinglyLinkedListNode head1, Singly.. 이전 1 2 3 4 다음