Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,623 questions

55,358 answers

573 users

How to find the longest common string prefix in array of strings with Pascal

1 Answer

0 votes
program LongestCommonPrefix;

function LongestCommonPrefix(arr: array of string): string;
var
  i, j: Integer;
  prefix: string;
begin
  if Length(arr) = 0 then
    Exit('');

  prefix := arr[0]; // Assume the first string is the initial prefix

  for i := 1 to High(arr) do
  begin
    j := 1;
    // Compare characters of prefix and the current string
    while (j <= Length(prefix)) and (j <= Length(arr[i])) and (prefix[j] = arr[i][j]) do
      Inc(j);
    // Update the prefix to the common part
    prefix := Copy(prefix, 1, j - 1);
    if prefix = '' then
      Break; // Exit loop if there's no common prefix
  end;

  LongestCommonPrefix := prefix;
end;

var
  stringsArr: array of string;
begin
  // Initialize the dynamic array properly
  SetLength(stringsArr, 3); // Specify size of the array
  stringsArr[0] := 'cartography';
  stringsArr[1] := 'carburettor';
  stringsArr[2] := 'carbonating';

  WriteLn('Longest Common Prefix: ', LongestCommonPrefix(stringsArr));
end.



(*
run:

Longest Common Prefix: car

*)

 



answered Apr 25, 2025 by avibootz
...