摘要: 我看到这个题目的第一想法是,按照空格把字符串分开,然后把被分开的字符串压栈。再把栈里的内容弹出组成一个字符串就可以。但是答案直接先翻转整个字符串,然后按照空格为分割翻转单个单词。这个方案不需要额外的空间。 左旋转字符串:举例(abcdefg),n=3;分为两部分,abc和defg。然后分别对两部分旋 阅读全文
posted @ 2019-07-18 18:48 妮妮熊 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 第一个题,我想到的思路是一个个找的方法。看书上是设置两个指针然后两个指针一起走。确实这种时间复杂度更低。本来我看到有多组输出乘积最小的我还写了一个专门判断哪一对乘积最小的代码。看到别人证明说找到的第一对就是最小的,所以就没放。我发现这种使用两个指针从两端走的题目真的很多,以后遇见题可以往这方面考虑。 阅读全文
posted @ 2019-07-18 17:11 妮妮熊 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 第一个方法,用map存vector里的数 第二种方法就是剑指offer上的,主要是要知道一点,一个数异或自己等于0。因此如果数组中只有一个出现以此的数字,将这个数组依次异或就可以得到。基于此,将数组按第一次异或后的结果分为两部分,这两部分分别含有一个出现一次的数字。对这两个数组在异或即可。这个方法不 阅读全文
posted @ 2019-07-18 15:29 妮妮熊 阅读(131) 评论(0) 推荐(0) 编辑