zoukankan      html  css  js  c++  java
  • 反转单词(C#实现)

    public static string ReverseWords(string array)

    {

    if (string.IsNullOrEmpty(array))

    {

    throw new ArgumentException("");

    }

    int arrLen = array.Length;

    char[] strNew = new char[arrLen + 1];

     

     

    //全部反转

    for (int index = 0; index < arrLen; index++)

    {

    strNew[index] = array[arrLen - 1 - index];

    }

    strNew[arrLen] = ' '; //为了复原最后一个单词,添加一个辅助空格

     

     

    int iStart = 0, iEnd = 0;

    char tmpChar;

     

     

    //复原单词

    for (int Index = 0; Index < arrLen + 1; Index++)

    {

    //Index指向空格

    if (strNew[Index] == ' ')

    {

    iEnd = Index - 1;

    while (iStart < iEnd)

    {

    tmpChar = strNew[iStart];

    strNew[iStart] = strNew[iEnd];

    strNew[iEnd] = tmpChar;

    iStart++;

    iEnd--;

    }

    iStart = Index + 1;//跳过空格

    }

    else if (strNew[Index] == '!' | strNew[Index] == ',' | strNew[Index] == '.' | strNew[Index] == ';')

    {

    iStart = Index + 1;//跳过标点

    }

    }

     

     

    //合成字符串

    array = string.Empty;

    for (int index = 0; index < strNew.Length - 1; index++)//去掉辅助的空格

    {

    array += strNew[index];

    }

    return array;

    }

  • 相关阅读:
    第十六周总结
    第十五周学习进度
    输出最长字符串链
    第二阶段冲刺10
    第二阶段冲刺09
    第二阶段冲刺08
    输入法评价
    第十四周进度总结
    collections模块
    shutil模块(了解)
  • 原文地址:https://www.cnblogs.com/matthew228/p/1824810.html
Copyright © 2011-2022 走看看