classSolution(object): defpathSum(self, root, sum): """ :type root: TreeNode :type sum: int :rtype: List[List[int]] """ rs = [] ss = [] if root: ss.append((root, sum, [])) while ss: cur, n, l = ss.pop() ifnot cur.left andnot cur.right: if n == cur.val: rs.append(l + [cur.val]) if cur.right: ss.append((cur.right, n - cur.val, l + [cur.val])) if cur.left: ss.append((cur.left, n - cur.val, l + [cur.val])) return rs