Path Sum II, is a LeetCode problem from Tree subdomain. In this post we will see how we can solve this challenge in Swift

Problem Description

You can find the full details of the problem Path Sum II at LeetCode


Note: Structs in Swift are passed by value. Classes are passed by reference. Array and Dictionaryin Swift * are implemented as structs. In order to pass the array by reference, use inout to declare the variable.

Time Complexity: O(n), Space Complexity: O(n)

Definition for a binary tree node.

public class TreeNode {

public var val: Int

public var left: TreeNode?

public var right: TreeNode?

public init(_ val: Int) {

    self.val = val

    self.left = nil

    self.right = nil



Please check the main.swift snippet for the solution.

This solution originally posted at: Github by @soapyigu