TGViewer
Java | LeetCode Java | LeetCode @easy_java_task · 6.43K subscribers
Post #1513 821
Задача: 1305. All Elements in Two Binary Search Trees
Сложность: medium

Даны два бинарных дерева поиска root1 и root2. Вернуть список, содержащий все целые числа из обоих деревьев, отсортированные в порядке возрастания.

Пример:
Input: root1 = [2,1,4], root2 = [1,0,3]
Output: [0,1,1,2,3,4]


👨‍💻 Алгоритм:

1⃣Выполните итеративный обход в порядке возрастания обоих деревьев параллельно.

2⃣На каждом шаге добавляйте наименьшее доступное значение в выходной список.

3⃣Верните выходной список.

😎 Решение:
class TreeNode(var `val`: Int) {
var left: TreeNode? = null
var right: TreeNode? = null
}

class Solution {
fun getAllElements(root1: TreeNode?, root2: TreeNode?): List<Int> {
val stack1 = ArrayDeque<TreeNode>()
val stack2 = ArrayDeque<TreeNode>()
val output = mutableListOf<Int>()
var root1 = root1
var root2 = root2

while (root1 != null
root2 != null
stack1.isNotEmpty() || stack2.isNotEmpty()) {
while (root1 != null) {
stack1.push(root1)
root1 = root1.left
}
while (root2 != null) {
stack2.push(root2)
root2 = root2.left
}
if (stack2.isEmpty() || (stack1.isNotEmpty() && stack1.peek().`val` <= stack2.peek().`val`)) {
root1 = stack1.pop()
output.add(root1.`val`)
root1 = root1.right
} else {
root2 = stack2.pop()
output.add(root2.`val`)
root2 = root2.right
}
}
return output
}
}


Ставь 👍 и забирай 📚 Базу знаний
  • 💊 1
More from @easy_java_task
  1. Oct 16, 2026Post #2300
  2. Oct 15, 2026Задача: 229. Majority Element II Сложность: medium Дан массив целых чисел размера n, найди…
  3. Oct 14, 2026Post #2298
  4. Oct 14, 2026Задача: 1332. Remove Palindromic Subsequences Сложность: easy Вам дана строка s, состоящая…
  5. Oct 13, 2026Задача: 1120. Maximum Average Subtree Сложность: medium Дан корень бинарного дерева. Верни…
  6. Oct 12, 2026Задача: 1413. Minimum Value to Get Positive Step by Step Sum Сложность: easy Дан массив це…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →