Given a string num that contains only digits and an integer target, return all possibilities to insert binary operators +, -, or * between the digits so that the resulting expression evaluates to target.
You may not reorder or remove digits from num. Digits in num must stay in the same relative order. You can form multi-digit numbers as long as they do not have leading zeros.
Examples:
Input: num = "123", target = 6
Output: ["1+2+3", "1*2*3"]
Input: num = "232", target = 8
Output: ["2*3+2", "2+3*2"]
This problem asks you to insert '+', '-', or '*' between digits in a numeric string so that the final expression evaluates to a target value. The standard solution is DFS with backtracking: try every split of the string, build expressions incrementally, and keep track of the running value plus the last multiplicative term to handle operator precedence correctly. Leading zeros must be rejected for multi-digit numbers. Because all valid expressions must be enumerated, the search is exponential in the worst case.