Java刷题记录(小白边刷边学)7.25
1 最长公共前缀
题目分析:
首先一定需要创建一个数组存储最长公共前缀的值
为了方便比较,先把strs的第一个字符串放进新的数组中即strs[0]
因此比较时从strs【1】开始
数字j需要小于两个被比较的字符串的长度方便遍历字符串的每一位
比价两个字符串的每一位,如果某位字母不同则直接结束循环
扩展:
1、length和length()以及size()的区别
(1)length不是方法,是属性,数组的属性
(2)length()方法:用于获取字符串长度
(3)size()方法:用于获取泛型集合有多少个元素
2、equals和==的区别
equals 方法(是String类从它的超类Object中继承的)
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
2 有效的括号
使用数组模拟栈
定义数组stack为栈的容器,变量top作为栈顶指针,初始值为-1;
stack[++top]意味着向栈里插入一个元素,该元素插入位置为top+1;
同时更新top=top+1,表示栈顶指向新插入的元素;
每匹配一个左括号给定义的栈里放入一个右括号,for遍历整个数组
top=-1的原因是:
注意最后:为何要用stack(top–)!= c
因为我们虽然定义的是数组但是实际是按照栈来使用的,入栈自加
即:
入栈:
出栈: