Expression Add Operators(leetcode)
来源:互联网 发布:java file.getname 编辑:程序博客网 时间:2024/05/16 07:06
Expression Add Operators
- Expression Add Operators
- 题目
- 解决
题目
leetcode题目
Given a string that contains only digits 0-9
and a target value, return all possibilities to add binary operators (not unary) +
, -
, or *
between the digits so they evaluate to the target value.
Examples:
"123", 6 -> ["1+2+3", "1*2*3"] "232", 8 -> ["2*3+2", "2+3*2"]"105", 5 -> ["1*0+5","10-5"]"00", 0 -> ["0+0", "0-0", "0*0"]"3456237490", 9191 -> []
解决
class Solution {public: void addOperator(vector<string> & result, string nums, string r, long long last, long long current, int target) { if (nums.length() == 0) { if (current == target) { result.push_back(r); } return; } for (int i = 1; i <= nums.length(); i++) { string num = nums.substr(0, i); if (num.length() >= 2 && num[0] == '0') { return; } string next = nums.substr(i); if (r.length() > 0) { addOperator(result, next, r + "+" + num, stoll(num), current + stoll(num), target); addOperator(result, next, r + "-" + num, -stoll(num), current - stoll(num), target); addOperator(result, next, r + "*" + num, last * stoll(num), (current - last) + (last * stoll(num)), target); } else { addOperator(result, next, num, stoll(num), stoll(num), target); } } } vector<string> addOperators(string num, int target) { vector<string> result; addOperator(result, num, "", 0, 0, target); return result; }};
阅读全文
0 0
- LeetCode:Expression Add Operators
- 【LeetCode】Expression Add Operators
- Expression Add Operators -- leetcode
- Leetcode -- Expression Add Operators
- LeetCode -- Expression Add Operators
- LeetCode Expression Add Operators
- leetcode:Expression Add Operators
- 《leetcode》:Expression Add Operators
- [leetCode] Expression Add Operators
- [LeetCode]Expression Add Operators
- [LeetCode] Expression Add Operators
- 【LeetCode】Expression Add Operators
- Expression Add Operators(leetcode)
- Leetcode | Expression Add Operators
- [leetcode 282]Expression Add Operators
- [leetcode] 282. Expression Add Operators
- [LeetCode]282. Expression Add Operators
- leetcode(282): Expression Add Operators
- 理解继承(二):构造函数的继承
- list_saynctask
- JZOJ5399. 【NOIP2017提高A组模拟10.7】Confess bitset
- ARC081 F
- 栅栏围大葱 dan
- Expression Add Operators(leetcode)
- PAT乙级题1034.有理数四则运算
- python里使用正则表达式的集合字符
- dan[非正解 搜索+卡时可AC]
- ubuntu 解决“无法获得锁 /var/lib/dpkg/lock -open (11:资源暂时不可用)”的方法
- 《深入浅出node.js》——setImmediate()与process.nextTick()
- 循环队列的表示与实现
- surfaceview组件的初始化
- js:innerHTML与innerText||textContent