g0201_0300.s0282_expression_add_operators.readme.md Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java Show documentation
Show all versions of leetcode-in-java Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
282\. Expression Add Operators
Hard
Given a string `num` that contains only digits and an integer `target`, return _**all possibilities** to insert the binary operators_ `'+'`_,_ `'-'`_, and/or_ `'*'` _between the digits of_ `num` _so that the resultant expression evaluates to the_ `target` _value_.
Note that operands in the returned expressions **should not** contain leading zeros.
**Example 1:**
**Input:** num = "123", target = 6
**Output:** ["1\*2\*3","1+2+3"]
**Explanation:** Both "1\*2\*3" and "1+2+3" evaluate to 6.
**Example 2:**
**Input:** num = "232", target = 8
**Output:** ["2\*3+2","2+3\*2"]
**Explanation:** Both "2\*3+2" and "2+3\*2" evaluate to 8.
**Example 3:**
**Input:** num = "105", target = 5
**Output:** ["1\*0+5","10-5"]
**Explanation:**
Both "1*0+5" and "10-5" evaluate to 5.
Note that "1-05" is not a valid expression because the 5 has a leading zero.
**Example 4:**
**Input:** num = "00", target = 0
**Output:** ["0\*0","0+0","0-0"]
**Explanation:**
"0*0", "0+0", and "0-0" all evaluate to 0.
Note that "00" is not a valid expression because the 0 has a leading zero.
**Example 5:**
**Input:** num = "3456237490", target = 9191
**Output:** []
**Explanation:** There are no expressions that can be created from "3456237490" to evaluate to 9191.
**Constraints:**
* `1 <= num.length <= 10`
* `num` consists of only digits.
* -231 <= target <= 231 - 1