算法题第一个乍一看好像力扣原题,但是输入是List[int],并非root,然后一直纠结换成树节点再做,但是好像TreeNode不能直接使用,后来有一个新的思路,寻找父节点和孩子节点的关系 2*i+1,2*i+2反正最后还是没写出来,回来让gpt写了,思路应该可以吧。from typing import Listfrom collections import dequedef right_side_view_from_list(nums: List[int]) -> List[int]: if not nums or nums[0] == -1: return [] result = [] q = deque() q.append(0) # 从根节点的索引 0 开始 while q: level_size = len(q) for i in range(level_size): idx = q.popleft() if nums[idx] == -1: continue if i == level_size - 1: result.append(nums[idx]) left_idx = 2 * idx + 1 right_idx = 2 * idx + 2 if left_idx < len(nums): q.append(left_idx) if right_idx < len(nums): q.append(right_idx) return result