leetcode-15-basic-string
58. Length of Last Word

解题思路:
从结尾向前搜索,空格之前的就是最后一个词了。写的时候我考虑了尾部有空格的情况。需要注意的是,测试用例中有" "的情况,此时应返回0。
int lengthOfLastWord(string s) {
        if (s.length() == 0 || s.length() == 1 && s[0] == ' ')
            return 0;
        if (s.length() == 1 && s[0] != ' ')
            return 1;
        int i;
        int count = 0;
        bool flag = false;
        for (i = s.length() - 1; i >= 0; i--) {
            if (s[i] == ' ') {
                if (flag == false)
                    continue;
                else
                    break;
            }
            if (s[i] != ' ') {
                if (flag == false)
                    flag = true;
                count++;
            }
        }
        return count;
    }  
338. Counting Bits

解题思路:
这道题想了好久。。思路是当前数i与i-1按位做与操作,这样可以找到最长相同前缀的地方,从那个位置之后,i-1的为0,i的为1且后面都是0,所以只要
取这个数的1的个数再加1就可以了。例如:
1011 0011 1
1011 0100 0
所以只要知道1011 0000 0处1的个数,再加1即可。用vector存好即可。
vector<int> countBits(int num) {
        vector<int> result(num+1, 0);
        if (num == 0)
            return result;
        for (int i = 1; i < num + 1; i++) {
            result[i] = result[i & (i - 1)] + 1;
        }
        return result;
    }
leetcode-15-basic-string的更多相关文章
- [LeetCode] 224. Basic Calculator 基本计算器
		
Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...
 - [LeetCode] 227. Basic Calculator II 基本计算器 II
		
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
 - LeetCode 15 3Sum [sort] <c++>
		
LeetCode 15 3Sum [sort] <c++> 给出一个一维数组,找出其中所有和为零的三元组(元素集相同的视作同一个三元组)的集合. C++ 先自己写了一发,虽然过了,但跑了3 ...
 - 黑马程序猿——15,String,StringBuffer,基本数据类型包装对象
		
------<ahref="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培 ...
 - [LeetCode] 772. Basic Calculator III 基本计算器之三
		
Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...
 - [LeetCode] 227. Basic Calculator II 基本计算器之二
		
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
 - LeetCode 15. 三数之和(3Sum)
		
15. 三数之和 15. 3Sum 题目描述 Given an array nums of n integers, are there elements a, b, c in nums such th ...
 - LINQ to SQL语句(15)之String
		
LINQ to SQL支持以下String方法.但是不同的是默认情况下System.String方法区分大小写.而SQL则不区分大小写. 1.字符串串联(String Concatenation) v ...
 - LeetCode#227.Basic Calculator II
		
题目 Implement a basic calculator to evaluate a simple expression string. The expression string contai ...
 - Java for LeetCode 227 Basic Calculator II
		
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
 
随机推荐
- NET Core:部署项目到Ubuntu Server
			
NET Core:部署项目到Ubuntu Server 概述 基于上一篇成功安装Ubuntu Server 16.10的基础上,接下来继续我们ASP.NET Core项目的部署之旅! 只是对于这些年整 ...
 - js解析url参数
			
1.采用正则,这也是现在使用最为方便的 function getQueryString(name) { const reg = new RegExp("(^|&)" + n ...
 - WPF机制和原理
			
最近由于项目需要,自己学习了一下WPF,之前接触过sliverlight,所以对理解和编写XAML不是太陌生.其实XAML和html多少还是有点类似的.只不过XAML上添加上了自动binding机制( ...
 - scrollHelper
			
(function ($) { var mouseScroll = function (e) { try { var origEvent = e.originalEvent; origEvent.pr ...
 - left join \ right join \ inner join 详解
			
left join 和 left outer join 的区别 通俗的讲: A left join B 的连接的记录数与A表的记录数同 A right join B ...
 - 浅窥ArcGIS Data Store之两斑
			
关于 ArcGIS Data Store,我们备受大家喜爱的suwenjiang朋友在其博客空间suwenjiang的烂笔头中贡献了<ArcGIS Data Store初体验>一文,全面讲 ...
 - eclipse的垂直选择功能
			
快捷键:Alt+Shift+A切换. 光标会变成十字,就可以垂直选择了.
 - 解决首次在eclipse中使用maven构建hadoop等项目时报Missing artifact sun.jdk:tools:jar:1.5.0的问题
			
问题原因: eclipse中的maven插件默认没有引用环境变量,所以找不到jdk的路径,也就找不到tool.jar. 解决办法: 步骤如下: 1.关闭eclips 2.在eclipse的解压目录中与 ...
 - POJ 3254 Corn Fields (状压DP,轮廓线DP)
			
题意: 有一个n*m的矩阵(0<n,m<=12),有部分的格子可种草,有部分不可种,问有多少种不同的种草方案(完全不种也可以算1种,对答案取模后输出)? 思路: 明显的状压DP啦,只是怎样 ...
 - mdns小结
			
mdns的功能和普通DNS很类似,即提供主机名到IP地址的解析服务. mdns一些基本特性: 1,mdns主要为小型私有网络(不存在DNS)提供名称解析. 2,mdns使用多播(Multicast ...