LeetCode 405 數字轉換為十六進製制數

2021-08-20 14:20:03 字數 1155 閱讀 7056

給定乙個整數,編寫乙個演算法將這個數轉換為十六進製制數。對於負整數,我們通常使用 補碼運算 方法。

注意:十六進製制中所有字母(a-f)都必須是小寫。

十六進製制字串中不能包含多餘的前導零。如果要轉化的數為0,那麼以單個字元'0'來表示;對於其他情況,十六進製制字串中的第乙個字元將不會是0字元。 

給定的數確保在32位有符號整數範圍內。

不能使用任何由庫提供的將數字直接轉換或格式化為十六進製制的方法。

示例 1:

輸入:

26輸出:

"1a"

示例 2:

輸入:

-1輸出:

"ffffffff"

第一種暴力解決方法:

public string tohex(int num) else

stack.push((char)(x+48));

num=num/16;

}while(!stack.isempty())

}else

//湊成32位

while(stack.size()<32)

//取反

while(!stack.isempty())

//加一

char a=s.tochararray();

int cy=1;

for(int i=a.length-1;i>=0;i--) else if(a[i]=='0'&&cy==1) else

cy=0;

}//把二進位制轉化成16進製制

string str="";

boolean flag=true;

for(int i=0;i=10) else

str+=sum;

}s=str;

}return s;

}

public static string tohex(int num) ;

int count=0;//用來記錄是否已經到第32位

while(num!=0&&count<8)

string s="";

while(!stack.isempty())

return s;

}

LeetCode 405 數字轉換為十六進製制數

給定乙個整數,編寫乙個演算法將這個數轉換為十六進製制數。對於負整數,我們通常使用 補碼運算 方法。注意 十六進製制中所有字母 a f 都必須是小寫。十六進製制字串中不能包含多餘的前導零。如果要轉化的數為0,那麼以單個字元 0 來表示 對於其他情況,十六進製制字串中的第乙個字元將不會是0字元。給定的數...

LeetCode405數字轉換為十六進製制數

給定乙個整數,編寫乙個演算法將這個數轉換為十六進製制數。對於負整數,我們通常使用 補碼運算 方法。注意 十六進製制中所有字母 a f 都必須是小寫。十六進製制字串中不能包含多餘的前導零。如果要轉化的數為0,那麼以單個字元 0 來表示 對於其他情況,十六進製制字串中的第乙個字元將不會是0字元。給定的數...

LeetCode 405數字轉換為十六進製制數

給定乙個整數,編寫乙個演算法將這個數轉換為十六進製制數。對於負整數,我們通常使用 補碼運算 方法。注意 十六進製制中所有字母 a f 都必須是小寫。十六進製制字串中不能包含多餘的前導零。如果要轉化的數為0,那麼以單個字元 0 來表示 對於其他情況,十六進製制字串中的第乙個字元將不會是0字元。給定的數...