LeetCode -- 反转英文单词

问题:给定英文句子,反转里面的每个单词,例如
"the sky is blue" 反转后为 "blue is the sky"

实现思路:
对英文句子每个字符做循环
s存放反转的句子,w存放单词
遇到空格(1个或多个)将w添加到s中
非空格则将字符添加到w

实现代码:

var reverseWords = function(str) {
    str = str.trim();
    var s = "";
    var len = str.length;
    var w = "";
    for(var i = len-1;i>=0;i--){
        if(str[i] != " "){
            w = str[i] + w;
        }
        else{
            if(i != 0 && str[i-1] == " ")
            {
                continue;
            }
            s += w + " "
            w="";
        }
    }
    s += w;
    return s;
};

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-09 01:56:12

LeetCode -- 反转英文单词的相关文章

[leetcode]反转字符串

题目描述: 请编写一个函数,其功能是将输入的字符串反转过来. 示例: 输入:s = "hello" 返回:"olleh" 题目分析: 很简单的题目,可以使用字符串切片也可以转化为list进行反转. # !/usr/bin/env python # _*_ coding: utf-8 _*_ class Solution(): l = [] def reverse_str(self, s): return s[::-1] def reverse_str1(self,

leetcode 反转链表

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head) { if(head==NULL) return NULL; struct ListNode*prev=NULL; while(head!=NULL) { struct ListNode

(LeetCode)反转整数

原题如下: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 click to show spoilers. Have you thought about this? Here are some good questions to ask before coding. Bonus points for you if you have already thought

[算法总结] 13 道题搞定 BAT 面试——字符串

1. KMP 算法 谈到字符串问题,不得不提的就是 KMP 算法,它是用来解决字符串查找的问题,可以在一个字符串(S)中查找一个子串(W)出现的位置.KMP 算法把字符匹配的时间复杂度缩小到 O(m+n) ,而空间复杂度也只有O(m).因为"暴力搜索"的方法会反复回溯主串,导致效率低下,而KMP算法可以利用已经部分匹配这个有效信息,保持主串上的指针不回溯,通过修改子串的指针,让模式串尽量地移动到有效的位置. 具体算法细节请参考: 字符串匹配的KMP算法 从头到尾彻底理解KMP 如何更好

Leetcode:Reverse Linked List II 反转链表区间

Reverse Linked List II Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given   1->2->3->4->5->NULL,  m = 2 and n = 4, return  1->4->3->2->5->NULL. Note:Given m, n satisfy the following

leetcode——Reverse Integer 反转整数数字(AC)

Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 这个题比较简单,考虑特殊情况如12000,注意检查反转后数字是否会越界溢出.代码如下: class Solution { public: int reverse(int x) { bool minus = false; short int splitNum[10]; int i = 0, j = 0; unsign

【LeetCode在线编程记录-1】字符串按单词反转

写在前面 LeetCode(地址:https://oj.leetcode.com/)是一个在线编程网站,题目经典,测试用例完备,共计157道算法类的题目.之后我会记录我的一些练习题目,有些答案是我自己原创的(说是原创,也很可能是之前在别的地方看到的而已),有些是从讨论区看到的,我都会明确标注出处. Reverse Words in a String Given an input string, reverse the string word by word. For example, Given

[LeetCode] Integer to English Words 整数转为英文单词

Convert a non-negative integer to its english words representation. Given input is guaranteed to be less than 231 - 1. For example, 123 -> "One Hundred Twenty Three" 12345 -> "Twelve Thousand Three Hundred Forty Five" 1234567 -&g

Leetcode#557. Reverse Words in a String III(反转字符串中的单词 III)

题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格. 思路 分割字符串,再逆序,拼接到字符串 代码实现 package String; /** * 557. Reverse Words in a St