Reverse a String - Javascript DSA Interview Question

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ • 78

  • @MessiLeo2312
    @MessiLeo2312 6 місяців тому +29

    return str.split("").reverse().join("")

  • @brokeloser
    @brokeloser 11 місяців тому +9

    It may be more optimized but higher JS payload size compared to the array approach.

  • @devascript
    @devascript 5 місяців тому

    Love you mere bhaii❤

  • @siyahulhaq7062
    @siyahulhaq7062 11 місяців тому +3

    Use 2 pointer and swap like a pro 😎

  • @xtraszone
    @xtraszone 11 місяців тому +11

    Recursive functions is never considered as optimised approach

    • @paritoshchauhan3266
      @paritoshchauhan3266 11 місяців тому +1

      Why is that?? Recursion is a great way of solving problems with recurring sub-problem

    • @known878
      @known878 Місяць тому

      ​@@paritoshchauhan3266 I guess time or space complexity might be the reason

    • @nishithmunda7789
      @nishithmunda7789 Місяць тому

      It may cause stack overflow

  • @gauravmasalkar3546
    @gauravmasalkar3546 11 місяців тому +16

    We can convert string to array then reverse it and then again convert it into string like following str.split("").reverse().join("")

    • @RoadsideCoder
      @RoadsideCoder  11 місяців тому +2

      but it wont be optimised

    • @aneesh1701
      @aneesh1701 11 місяців тому +7

      ​@@RoadsideCoderyou're writing in javascript, if you want things to be optimised code in a real language

    • @ompandey4595
      @ompandey4595 11 місяців тому

      ​@@RoadsideCoder idiot take a loop and reverse for i = string.length-1 i>=0 i-- ;

    • @SweepAndZone
      @SweepAndZone 11 місяців тому +3

      You made it 100x harder than it needed to be lmao ​@@RoadsideCoder

    • @armorkinggaming1933
      @armorkinggaming1933 11 місяців тому +1

      ​@@aneesh1701
      Dude 😂😂😂 who told you JS is not a real language.
      Real coders just code the ideas, they don't make excuses.

  • @terminator6505
    @terminator6505 10 місяців тому +1

    So why does the code stope running when it reaches “Olleh” why doesn’t it just run forever I don’t understand

    • @RoadsideCoder
      @RoadsideCoder  10 місяців тому

      because we gave it the stopping case or base case

  • @sachintendulkar1122
    @sachintendulkar1122 11 місяців тому

    Using pointer and using while loop we can solve this right?
    By swapping, which will reduce memory space as well

    • @RoadsideCoder
      @RoadsideCoder  11 місяців тому +2

      can you enter that code here?

    • @armorkinggaming1933
      @armorkinggaming1933 11 місяців тому +2

      let newStr= ' ';
      for (let i = str.length -1; i>=0;i--){
      newStr += str[i];
      }
      return newStr;

    • @paritoshchauhan3266
      @paritoshchauhan3266 11 місяців тому

      ​@@armorkinggaming1933you increased time complexity by using a new string. TC now is O(n)

  • @quickSilverXMen
    @quickSilverXMen 11 місяців тому

    It's working

  • @vijaykumarjee
    @vijaykumarjee 11 місяців тому

    We can use reverse() method as well

    • @RoadsideCoder
      @RoadsideCoder  11 місяців тому +3

      there's no such method as reverse() for a string

    • @vijaykumarjee
      @vijaykumarjee 11 місяців тому +3

      @@RoadsideCoder I did it as shown below, but your method always rocks. Thanks!
      let str = "Hello, World!";
      let reversedString = str.split('').reverse().join('');
      console.log(reversedString);

    • @SagarKumar-xo5qj
      @SagarKumar-xo5qj 11 місяців тому +2

      @@vijaykumarjeeyeah there is no reverse method, u converted it into array and then reversed array.

    • @RoadsideCoder
      @RoadsideCoder  11 місяців тому +1

      This is correct, but using recursion will be more optimised

    • @undergraduate6050
      @undergraduate6050 11 місяців тому

      ​@@RoadsideCoder
      How?

  • @SK_Covers
    @SK_Covers 2 місяці тому

    Me: Simple for loop with string length , just decrease the count 😂😂😂

  • @IllIIIIIIllll
    @IllIIIIIIllll 11 місяців тому

    Sir are you using computer glass or a power glass?

  • @undergraduate6050
    @undergraduate6050 11 місяців тому +1

    When will recurrsion stop?

    • @RoadsideCoder
      @RoadsideCoder  11 місяців тому +1

      when it hits the base case i.e., when string becomes empty

    • @ThanHtutZaw3
      @ThanHtutZaw3 11 місяців тому

      I am here to write in comment why it is working without loop. Now I understand it is recurrsion.@@RoadsideCoder

  • @tariqahmed2526
    @tariqahmed2526 10 місяців тому

    Can't we use split and reverse

  • @shinazz160
    @shinazz160 23 години тому

    in python just use str[::-1]

  • @kartikxisk
    @kartikxisk 4 місяці тому

    What if string is null. It will throw error

  • @PremKumar-ky5zl
    @PremKumar-ky5zl 11 місяців тому

    str.split('').reverse().join('')

  • @officialpage6191
    @officialpage6191 4 місяці тому

    Good one but not optimised use one loop for this o(n)

  • @tawan475
    @tawan475 11 місяців тому

    this is a bruh moment

  • @Ronirav21
    @Ronirav21 2 місяці тому

    Bro it won't work...there is no possibility for str as empty string...how it is working at your side...

    • @RoadsideCoder
      @RoadsideCoder  2 місяці тому

      bro u need to learn js again, here u go - ua-cam.com/play/PLKhlp2qtUcSZtJefDThsXcsAbRBCSTgW4.html

    • @Ronirav21
      @Ronirav21 2 місяці тому

      Hello bro..with this kind of speed..you missed to show us, adding of closed bracket after substr...at start you havn't added. later, on adding the base case it was there..

    • @RoadsideCoder
      @RoadsideCoder  2 місяці тому

      bro, just watch the full video from the link. shorts only allow 1 min

  • @k.balamugundanbala8981
    @k.balamugundanbala8981 11 місяців тому

    Brother i have typed the same code but it gave the o/p like --> Maximum call stack size exceeded....why ????

    • @RoadsideCoder
      @RoadsideCoder  11 місяців тому

      did u write the base case?

    • @k.balamugundanbala8981
      @k.balamugundanbala8981 11 місяців тому

      @RoadsideCoder i'm just a beginner in javascript so may I know what is meant by base case ????

    • @dpasupuleti4540
      @dpasupuleti4540 11 місяців тому +1

      The “str.charAt(0)” should be outside of function call
      return reverseString(str.substr(1)) + str.charAt(0);

  • @venkatsai4617
    @venkatsai4617 11 місяців тому +4

    function Arr(val){
    if(val===''){
    return '';
    }else{
    return Arr(val.substr(1)+val.charAt(0))
    }
    }
    console.log(Arr('hello'))
    it showing maximum call stack size exceed

    • @GourabMukherjee3011
      @GourabMukherjee3011 11 місяців тому

      cause the code is wrong in the video

    • @GourabMukherjee3011
      @GourabMukherjee3011 11 місяців тому +2

      function Arr(val) {
      if (val === '') {
      return '';
      } else {
      return Arr(val.substr(1)) + val.charAt(0);
      }
      }
      console.log(Arr('hello'));

    • @paritoshchauhan3266
      @paritoshchauhan3266 11 місяців тому +1

      ​@@GourabMukherjee3011exactly!! In the video he mistyped the return statement

    • @GourabMukherjee3011
      @GourabMukherjee3011 11 місяців тому

      @@paritoshchauhan3266 yeah 👍

  • @armorkinggaming1933
    @armorkinggaming1933 11 місяців тому +10

    It's pointless to use all these methods. Readalibilty is poor.
    Just run a for loop in reverse.
    let newStr= ' ';
    for (let i = str.length -1; i>=0;i--){
    newStr += str[i];
    }
    return newStr;
    Very simple way. Why trying all this?

    • @paritoshchauhan3266
      @paritoshchauhan3266 11 місяців тому

      Your algo: TC O(n), SC O(n)
      Algo in video: TC O(n) SC O(1)
      You just increased space complexity to O(n) by using a new string. The mentioned way in video has space complexity O(1) and time complexity O(n)

    • @furyzenblade3558
      @furyzenblade3558 11 місяців тому +4

      @@paritoshchauhan3266no the recursive solution is not of space complexity O(1) its also O(n) because for a string of length n there will be n recursive calls to the function which all individually add a layer to the call stack which uses up memory

    • @paritoshchauhan3266
      @paritoshchauhan3266 11 місяців тому +2

      @@furyzenblade3558 ohh yes, got it, my bad. I did not count that in.

    • @soumyadeepdash4805
      @soumyadeepdash4805 10 місяців тому

      ​@@paritoshchauhan3266not only that when returning it creates a new string....which also takes O(n) space

    • @paritoshchauhan3266
      @paritoshchauhan3266 10 місяців тому

      @@soumyadeepdash4805 bro if question asks to return a string then that is not considered in space complexity.

  • @0xbinarylol
    @0xbinarylol 7 місяців тому

    No need to right else

  • @LeagueJeffreyG
    @LeagueJeffreyG 11 місяців тому

    This is overcomplicating something very simple. Even if you had 10mil characters in one string and passed it into this function it would make such a minimal difference

  • @keeganfargher6418
    @keeganfargher6418 11 місяців тому

    Don't ever write code like this. No company would accept this code in a pull request. It's very difficult to understand what it's doing

    • @RoadsideCoder
      @RoadsideCoder  11 місяців тому +2

      This is how senior devs write the code, more optimised way. Every company will accept it!

  • @ahmedhuzaifa9149
    @ahmedhuzaifa9149 2 місяці тому

    this is not working even

    • @RoadsideCoder
      @RoadsideCoder  2 місяці тому

      whats the issue?

    • @ahmedhuzaifa9149
      @ahmedhuzaifa9149 2 місяці тому

      @@RoadsideCoder why are u typing the same function name reverseString inside the return statement?

    • @RoadsideCoder
      @RoadsideCoder  Місяць тому

      recursion

  • @CodeWithObservations
    @CodeWithObservations 5 місяців тому

    No need to write else

  • @giantbush4258
    @giantbush4258 11 місяців тому

    The else is unnecessary.