本文收录于专栏:算法之翼
https://blog.csdn.net/weixin_52908342/category_10943144.html
订阅后本专栏全部文章可见。
本文含有题目的题干、解题思路、解题思路、解题代码、代码解析。本文分别包含C语言、C++、Java、Python四种语言的解法完整代码和详细的解析。
题干
编写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。
解题思路
当解决这个问题时,首先要明确函数的输入和输出以及边界条件。函数的输入是一个字符串数组,包含num个字符串;输出是最长的字符串的地址,通过形参指针max传回。最长的字符串即是在输入的字符串数组中找到的具有最大长度的字符串。
解题思路可以分为以下几个步骤:
- 定义一个变量用来记录当前最长字符串的长度,初始值为0。
- 遍历输入的字符串数组,逐个比较字符串的长度。
- 如果当前字符串的长度比记录的最长字符串长度要长,则更新最长字符串长度以及最长字符串的地址。
- 遍历完所有的字符串后,最长字符串的地址即为max所指向的地址。
在遍历字符串数组时,需要注意到最后的结束标志"****",一旦遇到这个标志就停止遍历,因为后面的字符串不再需要考虑。
最后,返回最长字符串的地址给形参指针max。