問題描述
給定一個字符串 s,其中只有兩種字符類型:'1' 和 '0'。 返回該字符串中 '10' 的總數。
'10' 的總數是指 '1' 和 '0' 之間的位置數量,這些位置的左邊是 '1' 而右邊是 '0'。
示例
示例 1: 輸入:s = "110" 輸出:1 示例 2: 輸入:s = "0110" 輸出:1 示例 3: 輸入:s = "1100110011100" 輸出:6
解法一
解題思路:
我們需要遍歷字符串 s,檢查每個字符與其相鄰的字符,如果左邊是 '1' 而右邊是 '0',則計數器加一。
/*
* @lc app=leetcode.cn id=481 lang=javascript
*
* [481] 神奇字符串
*/
// @lc code=start
function magicalString(n) {
let count = 0;
let s = "";
for (let i = 0; i < n; i++) {
s += (i % 2 === 0) ? '1' : '0';
}
for (let i = 0; i < s.length - 1; i++) {
if (s[i] === '1' && s[i + 1] === '0') {
count++;
}
}
return count;
}
// @lc code=end