- Today
- Total
목록코딩인터뷰 완전분석 (2)
개성있는 개발자 되기
문제 단방향 연결리스트 두 개가 주어졌을 때 이 두 리스트의 교집합 노드를 찾은 뒤 반환하는 코드를 작성하라. 여기서 교집합이란 노드의 값이 아니라 노드의 주소가 완전히 같은 경우를 말한다. 즉, 첫 번째 리스트에 있는 k번째 노드와 두 번째 리스트에 있는 j번째 노드가 주소까지 완전히 같다면 이 노드는 교집합의 원소가 된다. 예제 해법 #1. 두 리스트의 사이즈를 맞춰준 뒤, 비교한다. 연결리스트에 교집합이 있다는 말은 두 리스트의 마지막 노드는 항상 같아야 한다는 의미가 된다. 두 리스트의 길이를 맞춰준 뒤 비교한다. public static Node getIntersection(Node l1, Node l2) { int len1 = lengthOfList(l1); int len2 = lengthOf..
Git : https://github.com/mongsilJeong/algorithm/blob/master/src/algorithm/codingInterview/datastructure/linkedList/LinkedList.java LinkedList란? 연결리스트LinkedList는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조이다. 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노드와 다음 노드와의 연결을 담당한다. 중간에 데이터를 추가나 삭제하더라도 전체의 인덱스가 한 칸씩 뒤로 밀리거나 당겨지는 일이 없기에 ArryaList에 비해서 데이터의 추가나 삭제가 용이하나, 인덱스가 없기에 특정 요소에 접근하기 위해서는 순차탐색이 필요하여 탐색속도가 떨어..