Java刷题记录(小白边刷边学)7.25

文章介绍了Java编程中解决最长公共前缀问题的思路,强调了比较字符串时创建辅助数组的重要性,并探讨了length、length()和size()的区别。此外,还讲解了如何使用栈数据结构解决有效括号问题,详细阐述了栈的操作过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
因为我们虽然定义的是数组但是实际是按照栈来使用的,入栈自加
即:
入栈:
stack(top)=x
出栈:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值