리트코드

[Leetcode] 0297. 이진 트리 직렬화 및 역직렬화

직렬화는 데이터 구조나 객체를 비트 시퀀스로 변환하여 파일이나 메모리 버퍼에 저장하거나 네트워크 연결을 통해 전송하여 나중에 같은 컴퓨터 환경이나 다른 컴퓨터 환경에서 재구성할 수 있는 프로세스입니다.

이진 트리를 직렬화하고 역직렬화하는 알고리즘을 설계합니다. 직렬화/역직렬화 알고리즘이 작동하는 방법에는 제한이 없습니다. 이진 트리를 문자열로 직렬화할 수 있고, 이 문자열을 원래 트리 구조로 역직렬화할 수 있는지 확인하기만 하면 됩니다.

설명: 입출력 형식은 LeetCode가 이진 트리를 직렬화하는 방식과 동일합니다. 반드시 이 형식을 따를 필요는 없으므로 창의력을 발휘하여 직접 다양한 접근 방식을 생각해 보세요.

[Leetcode] 0297. 이진 트리 직렬화 및 역직렬화 자세히 보기 »

리트코드, 기술 기사

[Leetcode] 0124. 이진 트리 최대 경로 합

이진 트리의 경로는 노드의 시퀀스이며, 시퀀스에서 인접한 노드의 각 쌍은 그들을 연결하는 간선을 갖습니다. 노드는 시퀀스에서 최대 한 번만 나타날 수 있습니다. 경로가 루트를 통과할 필요는 없습니다.

경로의 경로 합은 경로에 있는 노드 값의 합입니다.

이진 트리의 루트가 주어지면 비어 있지 않은 모든 경로의 최대 경로 합계를 반환합니다.

[Leetcode] 0124. 이진 트리 최대 경로 합 자세히 보기 »

리트코드, 기술 기사

[Leetcode] 0951. 등가 이진 트리 뒤집기

이진 트리 T에 대해 다음과 같이 플립 연산을 정의할 수 있습니다. 아무 노드나 선택하고 왼쪽과 오른쪽 자식 서브 트리를 바꿉니다.

이진 트리 X가 이진 트리 Y와 플립 동치인 것은 몇 번의 플립 연산을 거친 후 X를 Y와 같게 만들 수 있는 경우에만 가능합니다.

두 이진 트리 root1과 root2의 루트가 주어졌을 때, 두 트리가 뒤집혀 동치이면 true를 반환하고 그렇지 않으면 false를 반환합니다.

[Leetcode] 0951. 등가 이진 트리 뒤집기 자세히 보기 »

리트코드, 기술 기사

[Leetcode] 0125. 유효한 팰린드롬

대문자를 모두 소문자로 바꾸고 영숫자가 아닌 문자를 모두 제거한 뒤, 앞뒤로 읽어도 똑같은 문구를 팰린드롬이라고 합니다. 영숫자 문자에는 문자와 숫자가 포함됩니다.

문자열 s가 주어졌을 때, 팰린드롬이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

[Leetcode] 0125. 유효한 팰린드롬 자세히 보기 »

리트코드, 기술 기사