zoukankan      html  css  js  c++  java
  • Cracking the coding interview--Q1.2

    题目

    原文:

    Write code to reverse a C-Style String. (C-String means that “abcd” is represented as five characters, including the null character.)

    译文:

    写代码翻转一个C风格的字符串。(C风格的意思是"abcd"需要用5个字符来表示,包含末尾的 结束字符)

    解答

    这道题如果就是要考察你有没有注意到C风格字符串最后的那个结束符,那我觉得还是像书 上写的那样,在代码中有所体现。代码如下:

    java:

    package cha1;
    
    public class A002 {
        
        public static char[] swap(char[] cstr) {
            int len = cstr.length;
            char[] cs = new char[len];
            for (int i=0; i<len; i++) {
                cs[len-i-1] = cstr[i];
            }
            return cs;
        }
        
        public static void main(String[] args) {
            char[] cs = new char[5];
            cs[0] = 'l';
            cs[1] = 'o';
            cs[4] = 'u';
            System.out.println(swap(cs));
        }
    }

    c++

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    void swap(char &a, char &b){
        a = a^b;
        b = a^b;
        a = a^b;
    }
    
    void reverse2(char *s){
        int n = strlen(s);
        for(int i=0; i<n/2; ++i)
            swap(s[i], s[n-i-1]);
    }
    
    void reverse1(char *s){
        if(!s) return;
        char *p = s, *q = s;
        while(*q) ++q;
        --q;
        while(p < q)
            swap(*p++, *q--);
    }
    
    int main(){
        char s[] = "1234567890";
        reverse1(s);
        cout<<s<<endl;
        return 0;
    }



  • 相关阅读:
    数论 UVA 10943
    数论 UVA 11889
    数论 UVA 11388
    UVA 572
    hdu 1016
    poj 1308
    poj 1363
    java web-----servelet
    java IO文件读写例子(OutputStream,InputStream,Writer,Reader)
    java web环境配置类型问题
  • 原文地址:https://www.cnblogs.com/549294286/p/3184307.html
Copyright © 2011-2022 走看看