携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情
题目描述
存在一种仅支持 4 种操作和 1 个变量 X 的编程语言:
++X 和 X++ 使变量 X 的值 加 1
--X 和 X-- 使变量 X 的值 减 1
最初,X 的值是 0
给你一个字符串数组 operations ,这是由操作组成的一个列表,返回执行所有操作后, X 的 最终值 。
来源:力扣(LeetCode)
- 示例 1
输入:operations = ["--X","X++","X++"]
输出:1
解释:操作按下述步骤执行:
最初,X = 0
--X:X 减 1 ,X = 0 - 1 = -1
X++:X 加 1 ,X = -1 + 1 = 0
X++:X 加 1 ,X = 0 + 1 = 1
- 示例 2
输入:operations = ["++X","++X","X++"]
输出:3
解释:操作按下述步骤执行:
最初,X = 0
++X:X 加 1 ,X = 0 + 1 = 1
++X:X 加 1 ,X = 1 + 1 = 2
X++:X 加 1 ,X = 2 + 1 = 3
- 示例 3
输入:operations = ["X++","++X","--X","X--"]
输出:0
解释:操作按下述步骤执行:
最初,X = 0
X++:X 加 1 ,X = 0 + 1 = 1
++X:X 加 1 ,X = 1 + 1 = 2
--X:X 减 1 ,X = 2 - 1 = 1
X--:X 减 1 ,X = 1 - 1 = 0
提示:
1 <= operations.length <= 100operations[i]将会是"++X"、"X++"、"--X"或"X--
思路分析
这道题可是说是很简单的一道题了。已知有四种操作项,++X 和 X++两个是使值都加一,--X 和 X--两个是使值都减去一,字符串数组operations是由这几个操作随机组成的列表。
首先生命一个count变量,存储值的大小,初始值是0。开始循环字符串数组operations,取到每个操作项,根据操作项来加减count的值,判断循环项,是否等于已知四个操作项的其中一个;若是++X 和 X++,count值就加一,若是--X 和 X--,count值就减一,直至循环结束,所有操作项都结束,最后的count值就是最后的目标值。
AC代码
function solution(operations) {
let count = 0;
operations.forEach( item => {
if(item == '++X') {
count += 1
}else if(item == 'X++') {
count += 1
}else if(item == '--X') {
count -= 1
}else if(item == 'X--') {
count -= 1
}
})
console.log(count)
}
let operations = ["++X","++X","X++"];
solution(operations);