由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - A challenging interview question: revert a string
相关主题
菜鸟求救 请大家看看我的代码有没有问题问个题?
C++ 面试题请问这样写程序错了吗?
一道题这题谁知道答案?
求助一面试题分享一道最近碰到的很好的面试题。
GOOG intern interview 题目请教一个字符串比较排序的问题 (转载)
【一个BB公司问的字母排序的问题】问两个题
今天G家电面的一道题大家看看我写的这个itoa有没有bug
问一个精华区里的题目leetcode上wild match
相关话题的讨论汇总
话题: string话题: revert话题: str
进入JobHunting版参与讨论
1 (共1页)
m*****t
发帖数: 334
1
void revert(char *str)
How to revert a string in-place and only scan the string once? (Remember, if
you use strlen() then it counts as one scan)
j********x
发帖数: 2330
2
这不可能,可以简单地证明
x*********s
发帖数: 2604
3
require one more parameter, revert(char* str, int n);
K******g
发帖数: 1870
4
在你没有到达string尾端之前,你怎么in-place反转?如果你要到达,肯定至少要过一
遍。想都不用想,不可能的事情。

if

【在 m*****t 的大作中提到】
: void revert(char *str)
: How to revert a string in-place and only scan the string once? (Remember, if
: you use strlen() then it counts as one scan)

K******g
发帖数: 1870
5
在你没有到达string尾端之前,你怎么in-place反转?如果你要到达,肯定至少要过一
遍。想都不用想,不可能的事情。

if

【在 m*****t 的大作中提到】
: void revert(char *str)
: How to revert a string in-place and only scan the string once? (Remember, if
: you use strlen() then it counts as one scan)

c***2
发帖数: 838
6
revert not reverse
an exmaple
str="abc"
foo(str)
str=="ABC"
revert(str)
str=="abc"
very simple
r******d
发帖数: 308
7
This function will revert string "how are you?" to "you are how?"?
s****u
发帖数: 1433
8
i think it is doable:
StringPointer=0;
while(String[StringPointer]!=null)
{
temp=String[StringPointer];
for(j=Stringpoint;j>0;j--) String[j]=string[j-1];
String[0]=temp;
StringPointer++;
}
e********s
发帖数: 248
9
Looks like it is a O(n^2) algorithm. Worse than scan the string twice?

【在 s****u 的大作中提到】
: i think it is doable:
: StringPointer=0;
: while(String[StringPointer]!=null)
: {
: temp=String[StringPointer];
: for(j=Stringpoint;j>0;j--) String[j]=string[j-1];
: String[0]=temp;
: StringPointer++;
: }

b***J
发帖数: 40
10
acc

【在 s****u 的大作中提到】
: i think it is doable:
: StringPointer=0;
: while(String[StringPointer]!=null)
: {
: temp=String[StringPointer];
: for(j=Stringpoint;j>0;j--) String[j]=string[j-1];
: String[0]=temp;
: StringPointer++;
: }

s*****n
发帖数: 5488
11
送分题。
void reverseAString(char * str)
{
if (!str) return;

static char * strStart = str;
if (str)
reverseAString(str ++);
else
{
str--;
}

if (str > strStart)
{
swap(str, starStart);
str --;
strStart ++;
}
}

if

【在 m*****t 的大作中提到】
: void revert(char *str)
: How to revert a string in-place and only scan the string once? (Remember, if
: you use strlen() then it counts as one scan)

e********s
发帖数: 248
12
Kind of get your idea. But your code will definitely not work.
BTW, even without bugs, this algorithm still scans the string twice similar
as the simple ones, just making it unnecessarily more complex.

【在 s*****n 的大作中提到】
: 送分题。
: void reverseAString(char * str)
: {
: if (!str) return;
:
: static char * strStart = str;
: if (str)
: reverseAString(str ++);
: else
: {

s****u
发帖数: 1433
13
true. but the requirement does not say better than 'scan twice'?

【在 e********s 的大作中提到】
: Looks like it is a O(n^2) algorithm. Worse than scan the string twice?
1 (共1页)
进入JobHunting版参与讨论
相关主题
leetcode上wild matchGOOG intern interview 题目
被thank you的fb电面面经【一个BB公司问的字母排序的问题】
问一个memory allocate/release的问题今天G家电面的一道题
请教大家一道关于c++的面试题问一个精华区里的题目
菜鸟求救 请大家看看我的代码有没有问题问个题?
C++ 面试题请问这样写程序错了吗?
一道题这题谁知道答案?
求助一面试题分享一道最近碰到的很好的面试题。
相关话题的讨论汇总
话题: string话题: revert话题: str