首页 > 科技 >

实现strStr()🔍_strstr最简单实现 🚀

发布时间:2025-03-04 13:52:18来源:

大家好👋,今天我们要来聊聊如何用一种超简单的办法实现strstr函数🔍。这个函数的主要作用是在一个字符串中查找另一个字符串第一次出现的位置,如果找不到就返回NULLnullptr。

首先,我们需要定义一个函数,接收两个参数,一个是主字符串haystack,另一个是要查找的子字符串needle。然后我们可以使用C++中的find函数,它能直接帮我们找到子字符串在主字符串中的位置。如果find返回的是字符串::npos,那就说明没有找到,需要返回nullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptrnullptr

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。