Skip to content

Commit

Permalink
➕3211.生成不含相邻零的二进制字符串.java
Browse files Browse the repository at this point in the history
  • Loading branch information
0xcaffebabe committed Jul 18, 2024
1 parent fc1341b commit 5682e36
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1032,6 +1032,7 @@
3191 | [3191.使二进制数组全部等于 1 的最少操作次数 I](/%E7%AE%97%E6%B3%95/3001-3500/3191.%E4%BD%BF%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%95%B0%E7%BB%84%E5%85%A8%E9%83%A8%E7%AD%89%E4%BA%8E%201%20%E7%9A%84%E6%9C%80%E5%B0%91%E6%93%8D%E4%BD%9C%E6%AC%A1%E6%95%B0%20I/3191.%E4%BD%BF%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%95%B0%E7%BB%84%E5%85%A8%E9%83%A8%E7%AD%89%E4%BA%8E%201%20%E7%9A%84%E6%9C%80%E5%B0%91%E6%93%8D%E4%BD%9C%E6%AC%A1%E6%95%B0%20I.java)
3192 | [3192.使二进制数组全部等于 1 的最少操作次数 II](/%E7%AE%97%E6%B3%95/3001-3500/3192.%E4%BD%BF%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%95%B0%E7%BB%84%E5%85%A8%E9%83%A8%E7%AD%89%E4%BA%8E%201%20%E7%9A%84%E6%9C%80%E5%B0%91%E6%93%8D%E4%BD%9C%E6%AC%A1%E6%95%B0%20II/3192.%E4%BD%BF%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%95%B0%E7%BB%84%E5%85%A8%E9%83%A8%E7%AD%89%E4%BA%8E%201%20%E7%9A%84%E6%9C%80%E5%B0%91%E6%93%8D%E4%BD%9C%E6%AC%A1%E6%95%B0%20II.java)
3195 | [3195.包含所有 1 的最小矩形面积 I](/%E7%AE%97%E6%B3%95/3001-3500/3195.%E5%8C%85%E5%90%AB%E6%89%80%E6%9C%89%201%20%E7%9A%84%E6%9C%80%E5%B0%8F%E7%9F%A9%E5%BD%A2%E9%9D%A2%E7%A7%AF%20I/3195.%E5%8C%85%E5%90%AB%E6%89%80%E6%9C%89%201%20%E7%9A%84%E6%9C%80%E5%B0%8F%E7%9F%A9%E5%BD%A2%E9%9D%A2%E7%A7%AF%20I.java)
3211 | [3211.生成不含相邻零的二进制字符串](/%E7%AE%97%E6%B3%95/3001-3500/3211.%E7%94%9F%E6%88%90%E4%B8%8D%E5%90%AB%E7%9B%B8%E9%82%BB%E9%9B%B6%E7%9A%84%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%AD%97%E7%AC%A6%E4%B8%B2/3211.%E7%94%9F%E6%88%90%E4%B8%8D%E5%90%AB%E7%9B%B8%E9%82%BB%E9%9B%B6%E7%9A%84%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%AD%97%E7%AC%A6%E4%B8%B2.java)
剑指 Offer 03 | [剑指 Offer 03. 数组中重复的数字](/%E7%AE%97%E6%B3%95/%E5%89%91%E6%8C%87Offer/%E5%89%91%E6%8C%87%20Offer%2003.%20%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97)
剑指 Offer 04 | [剑指 Offer 04.二维数组中的查找](/%E7%AE%97%E6%B3%95/%E5%89%91%E6%8C%87Offer/%E5%89%91%E6%8C%87%20Offer%2004.%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE/%E5%89%91%E6%8C%87%20Offer%2004.%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE.java)
剑指 Offer 05 | [剑指 Offer 05. 替换空格](/%E7%AE%97%E6%B3%95/%E5%89%91%E6%8C%87Offer/%E5%89%91%E6%8C%87%20Offer%2005.%20%E6%9B%BF%E6%8D%A2%E7%A9%BA%E6%A0%BC)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/*
* @lc app=leetcode.cn id=3211 lang=java
* @lcpr version=
*
* [3211] 生成不含相邻零的二进制字符串
*
* 执行用时分布 2ms 击败 89.04%
* 消耗内存分布 44.98MB 击败 16.53%
*/


// @lcpr-template-start

// @lcpr-template-end
// @lc code=start

import java.util.ArrayList;
import java.util.List;

class Solution {
int n;
List<String> ans = new ArrayList<>();
public List<String> validStrings(int n) {
this.n = n;
bt(new StringBuilder());
return ans;
}

void bt(StringBuilder sb) {
if (sb.length() == n) {
ans.add(sb.toString());
return;
}
if (sb.length() == 0) {
sb.append('0');
bt(sb);
sb.deleteCharAt(sb.length() - 1);
} else {
if (sb.charAt(sb.length() - 1) != '0') {
sb.append('0');
bt(sb);
sb.deleteCharAt(sb.length() - 1);
}
}
sb.append('1');
bt(sb);
sb.deleteCharAt(sb.length() - 1);
}
}
// @lc code=end



/*
// @lcpr case=start
// 3\n
// 2\n
// 4\n
// 5\n
// 6\n
// 7\n
// 8\n
// 9\n
// 10\n
// 11\n
// 12\n
// 13\n
// 14\n
// 15\n
// 16\n
// 17\n
// 18\n
// @lcpr case=end
// @lcpr case=start
// 1\n
// @lcpr case=end
*/

0 comments on commit 5682e36

Please sign in to comment.