-
[Leetcode] 24. Swap Nodes in Pairs (In Python)[Python] 파이썬/Leetcode_Medium 2021. 1. 17. 19:47
간략한 코드들은 github.com/Eastar-DS/Python 의 Leetcode 폴더에도 있습니다
Eastar-DS/Python
Contribute to Eastar-DS/Python development by creating an account on GitHub.
github.com
주어진 Linked List에서 노드들을 두개씩 짝지어 위치를 바꾸어주는 문제.
나는 쉽게 풀기위해 노드들의 벨류값을 바꿔주는 방식으로 문제를 풀었는데,
Follow up으로는 노드의 벨류를 바꾸지말고 풀라고한다.
1. 입력값이 아무것도 없을때 바로 None을 반환.
2. head의 Node 갯수를 센다.(length가 홀수일때와 짝수일때를 구별하기위해)
3. 새로운 노드 선언(print는 디버깅하면서 썼나봄)
4. length가 짝수라면 두개씩 짝지어서 val1과 val2에 벨류를 저장한뒤 바꿔준다.
5. length가 홀수라면 마지막의 한개는 그대로 둬야하므로 idx를 설정해 length - 1보다 작을때까지 4번과 같은작업을 수행해준다.
문제의 출처는 leetcode.com/problems/4sum/입니다.
모르시는게 있으시다면 언제든지 댓글로 질문을 남겨주세요. 저에게 큰 공부가 됩니다. 감사합니다.
'[Python] 파이썬 > Leetcode_Medium' 카테고리의 다른 글
[Leetcode] 394. Decode String (In Python) (0) 2021.12.20 [Leetcode] 198. House Robber(In Python) (0) 2021.12.02 [Leetcode] 19. Remove Nth Node From End of List (In Python) (0) 2021.01.14 [Leetcode] 18. 4Sum (In Python) (0) 2021.01.13 [Leetcode] 17. Letter Combinations of a Phone Number (In Python) (0) 2021.01.12