1、代码的优雅型,有待修炼class Solution {
public boolean isOneBitCharacter(int[] bits) {
int num=0;
int length=bits.length-2;
if(bits.length==1)
return true;
if(bits[length]==0)
return true;
for(int i=length;i>=0;i--){
if(bits[i]==1)
num++;
else
break;
}
if(num%2==0)
return true;
else
return false;
}
}
class Solution {
public boolean isOneBitCharacter(int[] bits) {
int i = bits.length - 2;
while (i >= 0 && bits[i] > 0) i--;
return (bits.length - i) % 2 == 0;
}
}
1)for循环和while循环的选择应用
2)规律-->规则-->规律
3)返回值的逻辑表达判断-->去分支化(if-else)
4)数学规律运用
数组下标(索引)+数组长度(运算)——>数组元素个数的规律-——>去变量声明
一个数-偶数---->不改变奇偶性
5)
数组:1)注意溢出和边界
2)one by one
3)可one by one 动态分治操作
4)注意数组长度和下标的利用