Statistics

Problem Statement for "NextPalindromicNumber"

Problem Statement

A palindromic number is a number that reads the same forward and backward. 101, 4 and 6666 are palindromic numbers while 10, 564 and 15452 are not.

You will be given a String n representing a positive integer. Determine the smallest palindromic integer strictly greater than n, and return it as a String with no leading zeroes.

Definition

Class:
NextPalindromicNumber
Method:
getNext
Parameters:
String
Returns:
String
Method signature:
String getNext(String n)
(be sure your method is public)

Notes

  • No positive multiple of 10 is a palindromic number.

Constraints

  • n will contain between 1 and 50 characters, inclusive.
  • Each character of n will be a digit ('0'-'9').
  • The first character of n will not be zero ('0').

Examples

  1. "12345"

    Returns: "12421"

  2. "858"

    Returns: "868"

  3. "1999"

    Returns: "2002"

  4. "1"

    Returns: "2"

  5. "9999"

    Returns: "10001"

  6. "91"

    Returns: "99"

  7. "9999999999999999998"

    Returns: "9999999999999999999"

  8. "9"

    Returns: "11"

  9. "123999321"

    Returns: "124000421"

  10. "98999989"

    Returns: "99000099"

  11. "99000099"

    Returns: "99011099"

  12. "990000099"

    Returns: "990010099"

  13. "2"

    Returns: "3"

  14. "8"

    Returns: "9"

  15. "9"

    Returns: "11"

  16. "99999999999999999999999990000000000000000000000000"

    Returns: "99999999999999999999999999999999999999999999999999"

  17. "99999999999999999999999999999999999999999999999999"

    Returns: "100000000000000000000000000000000000000000000000001"

  18. "9999999999999999999999999999999999999999999999999"

    Returns: "10000000000000000000000000000000000000000000000001"

  19. "9999999999999999999999990000000000000000000000000"

    Returns: "9999999999999999999999990999999999999999999999999"

  20. "9999999999999999999999999000000000000000000000000"

    Returns: "9999999999999999999999999999999999999999999999999"

  21. "9899999999999999999999999999999999999999999999999"

    Returns: "9900000000000000000000000000000000000000000000099"

  22. "699996"

    Returns: "700007"

  23. "199999999999999991"

    Returns: "200000000000000002"

  24. "66"

    Returns: "77"

  25. "4999999999999999999999999994"

    Returns: "5000000000000000000000000005"

  26. "20771985438476749999999999999999994767483458917702"

    Returns: "20771985438476750000000000000000005767483458917702"

  27. "1168889999999999999999999999999999999999888611"

    Returns: "1168890000000000000000000000000000000000988611"

  28. "8716627456669779999999779666547266178"

    Returns: "8716627456669780000000879666547266178"

  29. "18395199159381"

    Returns: "18395200259381"

  30. "5704058999999998504075"

    Returns: "5704059000000009504075"

  31. "9071999999999999999999999999999999999999999991709"

    Returns: "9072000000000000000000000000000000000000000002709"

  32. "98709999999999990789"

    Returns: "98710000000000001789"

  33. "42107148129999992184170124"

    Returns: "42107148130000003184170124"

  34. "575999999999999999999999999999999999999575"

    Returns: "576000000000000000000000000000000000000675"

  35. "77170999999999999907177"

    Returns: "77171000000000000017177"

  36. "43345258980805999999999999999999999950808985254334"

    Returns: "43345258980806000000000000000000000060808985254334"

  37. "69996"

    Returns: "70007"

  38. "338999833"

    Returns: "339000933"

  39. "3524992709999999999999999999999999999999072994253"

    Returns: "3524992710000000000000000000000000000000172994253"

  40. "899998"

    Returns: "900009"

  41. "96637781267099999999999999999999999999076218773669"

    Returns: "96637781267100000000000000000000000000176218773669"

  42. "6999996"

    Returns: "7000007"

  43. "57915794481550999999999999999999905518449751975"

    Returns: "57915794481551000000000000000000015518449751975"

  44. "3821239261387583870039999999300783857831629321283"

    Returns: "3821239261387583870040000000400783857831629321283"

  45. "67581050873349049994094337805018576"

    Returns: "67581050873349050005094337805018576"

  46. "65423364178363795925630388303652959736387146332456"

    Returns: "65423364178363795925630399303652959736387146332456"

  47. "9127624432536804703369633074086352344267219"

    Returns: "9127624432536804703370733074086352344267219"

  48. "363021120363"

    Returns: "363022220363"

  49. "7012778579385320035189659569815300235839758772107"

    Returns: "7012778579385320035189660669815300235839758772107"

  50. "88450614171917141605488"

    Returns: "88450614172027141605488"

  51. "41516678381749083449813499431894438094718387661513"

    Returns: "41516678381749083449813499431894438094718387661514"

  52. "509477171696171774904"

    Returns: "509477171696171774905"

  53. "990939658249868877079681186970778868942856939098"

    Returns: "990939658249868877079681186970778868942856939099"

  54. "1275218346474647543420209020243457464746438125720"

    Returns: "1275218346474647543420209020243457464746438125721"

  55. "17084841422414848070"

    Returns: "17084841422414848071"

  56. "89391827921002007224158499485142270020012972819399"

    Returns: "89391827921002007224158500585142270020012972819398"

  57. "21175039311393057113"

    Returns: "21175039322393057112"

  58. "895975058184632533033002200330335236481850579599"

    Returns: "895975058184632533033003300330335236481850579598"

  59. "7104258297143952728239729279328272593417928524018"

    Returns: "7104258297143952728239730379328272593417928524017"

  60. "1679561335772489503113059842775331659762"

    Returns: "1679561335772489503223059842775331659761"

  61. "4"

    Returns: "5"

  62. "93194561262582880252342621064817238452832276413792"

    Returns: "93194561262582880252342622624325208828526216549139"

  63. "6661574544684912681299937581232154"

    Returns: "6661574544684912772194864454751666"

  64. "5885352903460612030342171510491318604"

    Returns: "5885352903460612031302160643092535885"

  65. "2878515948517711390467772034511832445241228298252"

    Returns: "2878515948517711390467772777640931177158495158782"

  66. "2245767100126388949954834"

    Returns: "2245767100127210017675422"

  67. "67865438"

    Returns: "67866876"

  68. "78651257269418359230269404760145921966973956412606"

    Returns: "78651257269418359230269411496203295381496275215687"

  69. "9841673418009141942691323"

    Returns: "9841673418010108143761489"

  70. "3149733518890244926"

    Returns: "3149733519153379413"

  71. "5290768517175280951176426748798698395003449409851"

    Returns: "5290768517175280951176427246711590825717158670925"

  72. "10000000000000000000000000000000000000000000000000"

    Returns: "10000000000000000000000000000000000000000000000001"

  73. "1000000000000000000000000000000000000000000000000"

    Returns: "1000000000000000000000000000000000000000000000001"

  74. "10000000000000000000000000000000000000000000000001"

    Returns: "10000000000000000000000011000000000000000000000001"

  75. "1000000000000000000000000000000000000000000000001"

    Returns: "1000000000000000000000001000000000000000000000001"

  76. "10000000000000000000000190000000000000000000000009"

    Returns: "10000000000000000000000199100000000000000000000001"

  77. "10000000000000000000000199100000000000000000000001"

    Returns: "10000000000000000000000200200000000000000000000001"

  78. "19999999999999999999999999999999999999999999999999"

    Returns: "20000000000000000000000000000000000000000000000002"

  79. "1999999999999999999999999999999999999999999999999"

    Returns: "2000000000000000000000000000000000000000000000002"

  80. "99999"

    Returns: "100001"

  81. "99999999999999999999999999999999999999999999999999"

    Returns: "100000000000000000000000000000000000000000000000001"

  82. "12345123451234512345123451234512345123451234512345"

    Returns: "12345123451234512345123455432154321543215432154321"

  83. "99999999999999999999990999999999999999999999999999"

    Returns: "99999999999999999999991000019999999999999999999999"

  84. "1285999999999999999999999999999999999999999999921"

    Returns: "1286000000000000000000000000000000000000000006821"

  85. "99999999999999999999999999999999999999999999999979"

    Returns: "99999999999999999999999999999999999999999999999999"

  86. "19999999999999999999999999999999999999999999999999"

    Returns: "20000000000000000000000000000000000000000000000002"

  87. "12358152091235815209123581520912358152091235815209"

    Returns: "12358152091235815209123588532190251853219025185321"

  88. "1234567893458739491832474742381949387543978654321"

    Returns: "1234567893458739491832475742381949378543987654321"

  89. "12345"

    Returns: "12421"

  90. "9999999999999999999999999000000000000000000000000"

    Returns: "9999999999999999999999999999999999999999999999999"

  91. "32525638967986969698867098987"

    Returns: "32525638967987078976983652523"

  92. "9"

    Returns: "11"

  93. "9875559891231239567893987653321321989555789"

    Returns: "9875559891231239567893987659321321989555789"

  94. "111111113111111111112345678999999999999"

    Returns: "111111113111111111121111111111311111111"

  95. "11233366558566332545551123336655856633254555"

    Returns: "11233366558566332545555554523366585566333211"

  96. "3"

    Returns: "4"

  97. "999"

    Returns: "1001"

  98. "999999999999999999999999"

    Returns: "1000000000000000000000001"

  99. "999999999999999999999999999"

    Returns: "1000000000000000000000000001"

  100. "2599971"

    Returns: "2600062"

  101. "99999999999999999999999990000000000000000000000000"

    Returns: "99999999999999999999999999999999999999999999999999"

  102. "11111111111111111111111111111111111111111111111111"

    Returns: "11111111111111111111111122111111111111111111111111"

  103. "123456789123456789123456789123456789"

    Returns: "123456789123456789987654321987654321"

  104. "9999999978399999999999999000000000000000000000000"

    Returns: "9999999978399999999999999999999999999938799999999"

  105. "32122"

    Returns: "32123"

  106. "956321214512195632121451219563212145121658"

    Returns: "956321214512195632122221236591215412123659"

  107. "80099294579248428914712983742613570009999999191990"

    Returns: "80099294579248428914712988921741982484297549299008"

  108. "92999999999999999999999999999999999999799999999997"

    Returns: "92999999999999999999999999999999999999999999999929"

  109. "999995421856548654218565486542189999999985654899"

    Returns: "999995421856548654218565565812456845658124599999"

  110. "74658764359872037438647865874365694835943875984366"

    Returns: "74658764359872037438647866874683473027895346785647"

  111. "12345678901234567890123456789012345678901234567890"

    Returns: "12345678901234567890123466432109876543210987654321"

  112. "99999999999999999999999999999999999999999999999991"

    Returns: "99999999999999999999999999999999999999999999999999"

  113. "111111111111111111111111"

    Returns: "111111111112211111111111"

  114. "12345555555555555555555555555555555555555555555555"

    Returns: "12345555555555555555555566555555555555555555554321"

  115. "99999999999999999999999999999999999999999999999"

    Returns: "100000000000000000000000000000000000000000000001"

  116. "9988776655676752431111111111111111111111"

    Returns: "9988776655676752431111342576765566778899"

  117. "99999999999999999999999"

    Returns: "100000000000000000000001"

  118. "11111111111011111111111111111111"

    Returns: "11111111111011122111011111111111"

  119. "487747873897374738643687737583466265426524652538"

    Returns: "487747873897374738643687786346837473798378747784"

  120. "1111111111111111111111111111111111111111111111"

    Returns: "1111111111111111111111221111111111111111111111"

  121. "1235434342568506854569889"

    Returns: "1235434342568652434345321"

  122. "11111111111111111111111111111111111111111111111112"

    Returns: "11111111111111111111111122111111111111111111111111"

  123. "10000000000000000000000000000000000002"

    Returns: "10000000000000000011000000000000000001"

  124. "124932"

    Returns: "125521"

  125. "99999999999999999999999999999999999"

    Returns: "100000000000000000000000000000000001"

  126. "12345678998765432112345678998765412332165498798765"

    Returns: "12345678998765432112345688654321123456789987654321"

  127. "900000000000000001000000000000000000"

    Returns: "900000000000000001100000000000000009"

  128. "2121"

    Returns: "2222"


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: