Many tree-based questions where there's unambiguous ownership of data (i.e. each node has exactly one owner/parent), the rust data structure for the question is defined as Option<Rc<Refcell<TreeNode>>>, which is extremely unidiomatic. It should instead be the much simpler Option<Box<TreeNode>>. A recent example where I noticed this is https://leetcode.com/problems/invert-binary-tree/.