CS/algorithm & data structure

[파이썬 알고리즘 인터뷰] 연결 리스트

hjkim0502 2022. 2. 24. 00:39

234. palindrome linked list

- 리스트로 변환

- 데크

- 런너

* 다중할당: 동시에 일어남

 

21. merge two linked lists

- 재귀 (함수 안에서 다시 함수 호출)

- 괄호가 연산순위 제일 높음

 

206. reverse linked list

- 재귀

- 반복

- 내 풀이: 런너

 

2. add two numbers

- 연결 리스트 만들때 더미 노드 생성 필수

- 전가산기 응용

- divmod()

* map()

* functools 모듈(reduce 메소드)

* operator 모듈(add, mul 메소드)

 

※ b가 a를 참조할 때, a가 가변객체인 경우(list, set, dict) b에서 값을 조작하면 두 객체 모두에게 적용

(불변객체인 경우 b는 더이상 a를 참조하지 않음)

(가변객체여도 b를 =로 재할당하면 ID 바뀌고 a 참조하지 않음)

 

24. swap nodes in pairs

- 값 바꾸기

- 노드 바꾸기(재귀, 반복)

* 백트래킹(?)

 

328. odd even linked list

- 반복

 

92. reverse linked list 2

- 반복

 

※ 연결리스트 문제풀이 방식, 논리 복습 필수