LeetCode-Easy部分中标签为String 434. Number of Segments in a String
来源:互联网 发布:物流开单软件 编辑:程序博客网 时间:2024/05/20 04:13
原题
Count the number of segments in a string, where a segment is defined to be a contiguous sequence of non-space characters.
Please note that the string does not contain any non-printable characters.
Example:
Input: "Hello, my name is John"Output: 5
Input: " "Output: 0
Input: " a"Output: 1
Input: " a "Output: 1
Input: " a b "Output: 2
代码分析
求字符串的片段字符串个数。首要看 segment 的定义:
a segment is defined to be a contiguous sequence of non-space characters.
意味着我们可以写出以下2个API来判断每个字符串的第一个片段,然后递归求所有字符片段的个数。
//字符串的第一个片段的首字符,找到有效字符开始 private bool isValidBegin(char curchar) { if (curchar != ' ') return true; return false; } //判断字符片段的结束 private bool isValidEnd(char curchar, char afterchar) { if (curchar != ' ' && afterchar == ' ') return true; return false; }
代码实现
递归版:
public int CountSegments(string s) { if (string.IsNullOrEmpty(s)) return 0; int i = 0; while (i < s.Length && !isValidBegin(s[i])) i++; if (i == s.Length) //没有有效字符,如" " return 0; if (i == s.Length - 1) //只有一个有效字符,如 " a" return 1; while (i < s.Length - 1 && !isValidEnd(s[i], s[i + 1])) i++; if (i == s.Length - 1) return 1; //只有1个有效字符,如" a " return 1+ CountSegments(s.Substring(i + 1)); }
更多string题目
http://blog.csdn.net/daigualu/article/details/69566863
1 0
- LeetCode-Easy部分中标签为String 434. Number of Segments in a String
- Leetcode 434. Number of Segments in a String (Easy) (cpp)
- LeetCode-Easy部分中标签为Two Pointers 345. Reverse Vowels of a String
- 434.Number of Segments in a String(String-Easy)
- leetcode 434[easy]---Number of Segments in a String
- LeetCode-Easy部分中标签为String的所有题目
- LeetCode-Easy部分中标签为String 20. Valid Parentheses
- LeetCode-Easy部分中标签为String 520. Detect Capital
- LeetCode-Easy部分中标签为String 383. Ransom Note
- LeetCode-Easy部分中标签为String 58. Length of Last Word
- Leetcode Number of Segments in a String
- LEETCODE--Number of Segments in a String
- leetcode 434.Number of Segments in a String(easy)[分割字符串]
- LeetCode 434. Number of Segments in a String
- LeetCode 434. Number of Segments in a String
- 【Leetcode 434. Number of Segments in a String】
- leetcode 434. Number of Segments in a String
- LeetCode 434. Number of Segments in a String
- mybatis 3
- 多线程和委托
- mybatis 4
- 软件测试基础学习
- 关于二分法查找
- LeetCode-Easy部分中标签为String 434. Number of Segments in a String
- C++STL全排列的简单实现
- 完成SSH项目 -- 实现dao层
- Eclipse和PyDev搭建完美Python开发环境(Windows篇)
- HLS(HTTP Live Streaming)协议之m3u8文件生成方式
- hdfs ACL对文件夹实现权限访问控制
- Web简单的SQL注入
- 389 find the difference
- MyEclipse工程迁移到Eclipse遇到的问题