Given a string find its first uppercase letter
Examples :
Input : geeksforgeeKs Output : K Input : geekS Output : S
Method 1: linear search
Using linear search, find the first character which is capital
// C++ program to find the first
// uppercase letter using linear search
#include <bits/stdc++.h>
using namespace std;
// Function to find string which has
// first character of each word.
char first(string str)
{
for (int i = 0; i < str.length(); i++)
if (isupper(str[i]))
return str[i];
return 0;
}
// Driver code
int main()
{
string str = "geeksforGeeKS";
char res = first(str);
if (res == 0)
cout << "No uppercase letter";
else
cout << res << "\n";
return 0;
}
// Java program to find the first
// uppercase letter using linear search
import java.io.*;
import java.util.*;
class GFG {
// Function to find string which has
// first character of each word.
static char first(String str)
{
for (int i = 0; i < str.length(); i++)
if (Character.isUpperCase(str.charAt(i)))
return str.charAt(i);
return 0;
}
// Driver program
public static void main(String args[])
{
String str = "geeksforGeeKS";
char res = first(str);
if (res == 0)
System.out.println("No uppercase letter");
else
System.out.println(res);
}
}
// This code is contributed
// by Nikita Tiwari.
# Python3 program to find the first
# uppercase letter using linear search
# Function to find string which has
# first character of each word.
def first(word) :
for i in range(0, len(word)) :
if (word[i].isupper()) :
return word[i]
return "No uppercase letter :("
# Driver code
word = "geeksforgeeS"
print(first(word))
# This code is contributed by Anshul Suresh
// C# program to find the first uppercase
// letter using linear search
using System;
class GFG {
// Function to find string which has
// first character of each word.
static char first(string str)
{
for (int i = 0; i < str.Length; i++)
if (char.IsUpper(str[i]) )
return str[i];
return '0';
}
// Driver function
public static void Main()
{
string str = "geeksforGeeKS";
char res = first(str);
if (res == '0')
Console.WriteLine("No uppercase"
+ " letter");
else
Console.WriteLine(res);
}
}
// This code is contributed by Sam007
<?php
// PHP program to find the first
// uppercase letter using linear search
// Function to find string which has
// first character of each word.
function first($str)
{
for ($i = 0; $i < strlen($str); $i++)
if (ctype_upper($str[$i]))
{
return $str[$i];
}
return 0;
}
// Driver code
$str = "geeksforGeeKS";
$res = first($str);
if (ord($res) ==ord(0) )
echo "No uppercase letter";
else
echo $res . "\n";
// This code is contributed by Sam007
?>
<script>
// JavaScript program to find the first
// uppercase letter using linear search
// Function to find string which has
// first character of each word.
function first(str) {
for (var i = 0; i < str.length; i++)
if (str[i] === str[i].toUpperCase()) return str[i];
return 0;
}
// Driver code
var str = "geeksforGeeKS";
var res = first(str);
if (res == 0) document.write("No uppercase letter");
else {
document.write(res);
document.write("<br>");
}
// This code is contributed by rdtank.
</script>
Output:
G
Time Complexity : O(N)
Auxiliary Space: O(1)
Method 2 (Using recursion)
Recursively traverse the string and if any uppercase is found return that character
// C++ program to find the
// first uppercase letter.
#include <bits/stdc++.h>
using namespace std;
// Function to find string which has
// first character of each word.
char first(string str, int i=0)
{
if (str[i] == '\0')
return 0;
if (isupper(str[i]))
return str[i];
return first(str, i+1);
}
// Driver code
int main()
{
string str = "geeksforGeeKS";
char res = first(str);
if (res == 0)
cout << "No uppercase letter";
else
cout << res << "\n";
return 0;
}
// Java program to find the
// first uppercase letter.
import java.io.*;
class GFG {
// Function to find string which has
// first character of each word.
static char first(String str, int i)
{
if(str.charAt(i)=='\0'){
return 0;
}
if(Character.isUpperCase(str.charAt(i))) {
return str.charAt(i);
}
try {
return first(str, i + 1);
}
catch(Exception e){
System.out.println("Exception occurs");
}
return 0;
}
// Driver code
public static void main(String args[])
{
String str = "geeksforGeeKS";
char res = first(str,0);
if (res == 0)
System.out.println("No uppercase letter");
else
System.out.println (res );
}
}
// This code is contributed
// by Shravan Sutar(suthar826)
def firstUpperCase(word,index):
""""Recursively traverse from start of string to end,
If character is upper return it.
"""
if index==len(word):
#if no upperCase letter found in string return "No UpperCase letter found."
return "No UpperCase letter found."
if word[index].isupper():
return word[n]
return firstUpperCase(word,index+1)
word="geeksforGeekS"
print(firstUpperCase(word,0))
// C# program to find the
// first uppercase letter.
using System;
class GFG
{
// Function to find string
// which has first character
// of each word.
static char first(string str, int i)
{
if (str[i] == '\0')
return '0';
if (char.IsUpper(str[i]))
return (str[i]);
return first(str, i + 1);
}
// Driver code
static public void Main ()
{
string str = "geeksforGeeKS";
char res = first(str, 0);
if (res == 0)
Console.WriteLine("No uppercase letter");
else
Console.WriteLine(res );
}
}
// This code is contributed by Anuj_67.
<?php
//PHP program to find the
// first uppercase letter.
// Function to find string
// which has first character
// of each word.
function first($str, $i = 0)
{
if ($str[$i] == '\0')
return 0;
if (ctype_upper($str[$i]))
return $str[$i];
return first($str, $i+1);
}
// Driver code
$str = "geeksforGeeKS";
$res = first($str);
if (ord($res) ==ord(0))
echo "No uppercase letter";
else
echo $res , "\n";
// This code is contributed
// by m_kit
?>
<script>
// Javascript program to find the
// first uppercase letter.
// Function to find string which has
// first character of each word.
function first(str,i=0)
{
if (i == str.length)
return 0;
if (str[i] == str[i].toUpperCase())
return str[i];
return first(str, i+1);
}
// Driver code
var str = "geeksforGeeKS";
var res = first(str);
if (res == 0)
document.write( "No uppercase letter");
else
document.write( res + "<br>");
</script>
Output :
G
Time Complexity : O(N)
Auxiliary Space: O(N) for call stack